Skip to content

Configuration (English)

김지성/HTS팀/NE edited this page Mar 16, 2018 · 1 revision

This page describes configuration items of EAT.

1. Configuration Items

* Common

Key Value Description Note
common rootDirectory Root directory of resource This root directory should contains the following folders.
- extraLibrary
- proto
- src
- scenario
ignoreUnnecessaryPacket Report error for comparison result between receiving packet and expected packet
countOfRealThread Count of real thread EAT uses Actor(it is based on lightweight thread called by Fiber - which is developed by pararrel universe), but also you can set real thread due to performance issue.
loggingOnSameFile Split log file or not(according to player)
receiveTimeoutSec Timeout second(s) regarding packet receiving Even timeout is raised, on going scenario will not stopped by exceltion.
display displayTransferredPacket Display packet name which transsferred or received See below picture 1-(1)
displayTransferredPacketJson Display packet contents with Json format or not See below picture 1-(2)
displayUnitTestResult 각 Tester 액터가 수행한 테스트의 real response와 expected response의 비교 결과 출력 여부 See below picture 1-(3)
displayFinalTestResult After tested by each tester actor, whether display final test result or not
- Total test case(s)
- Succeed
- Failure
See below picture 1-(4)
displayStatisticResult After tested by each tester actor, whether display statistics result or not See below picture 1-(5)
displayFinalStatisticResult After tested by all tester actor, whether display statistics test result for all test or not See below picture 1-(6)
server ip IP Address of server ex) 10.77.95.231
port Port number of server ex) 8600
countOfPort Count of port number ex) if port is 8600 and countOfPort is 2, port number of each tester actor of EAT will user 8600 and 8601 by sequentially
socketType Socket Type of Server Choose just one socket among those 2 types
- "STREAM""
- "WEBSOCKET"
subUriOfWS (Just in case of, socketTypeis WEBSOCKET)
Sub uri of websocket
ex) if set `subUriOfWS with "sub", the following uril will be used
ws://10.77.95.231:8600/sub
packet pluginPackage JAR file package which is implemented IStreamPacket. In the example, protobuf_plugin-0.1.1.jar(which is implemented of IStreamPacket) is contained
pluginClass Class name which is implemented IStreamPacket ex.)com.nhnent.eat.plugin.
protobuf.ProtoBufPacket
classPackage JAR file which is defined Stream Packet If use protobuf example, it will generate packet package with protocols.jar.
If use general packet, put packet defined jar should to here.
bytePacketTypes Define bytePacket type which is contained binary packet by other packet
When EAT parse scenario, regard json packet which is defined in bytePacketTypes as binary data.
For example)
(Config)
"bytePacketTypes": ["packetBytes", "data"]
(Scenario)
"data": {
[ExamplePackage]JoinRoomInfo: {
"channel": "example-1"
}
}
In above case, data which is in data will be generated as a binary data and the binary data will put to value of data
packetPackages Key value of package. The key will used in scenario and when it generated to packet, it will replace to package name (Config)
{
"key": "TUTORIAL",
"packageName": "tutorial"
}
(Scenario)
#Request:TUTORIAL:[TUTORIAL]Basic.RequestLogin
In bove case, TUTORIAL will switch to tutorial
scenarioPath Path which is location of scenario
playerCount Count of tester actor
testActorStartGap Time gap of spawn of each tester actor (ms)
userId User ID of each tester actor If userId is set to 100, and playerCount is set to 3, 1st actor will use userId as 100, 2nd actor will use userId as 101, and 3rd actor will use userId as 102.
scenarioFile Scenario File name which will used by tester actor Accordinng to scenarioFile each tester actor will use the scenario file. And if playerCount is 3 and scenario file is defined with [scenario1.scn , scenario2.scn], 2nd and 3rd testers will use scenario2.scn

* Test result example

<Picture 1 - Example of test result >

2. Plugin - protocol buffer configuration example

Provided example of protocol buffer library has the following structure. If your application has different protocol buffer, you can implement it with inherit IStreamPacket

<Picture 2 - Header of protocol buffer in example>

Key Value Description Note
protobuf protobufLibraryJarPath Library path of protocol buffer to compile protocol buffer In case of use protocol buffer, when EAT is initialized, it will compile proto file(s) and then generate protocol package using compiled java file. The protobuf library will be used to generat package
(In the example, protobuf library vwe.3.0.0)
serviceId Destination service ID In the example, we assume that there are many kind of service. So serviceId means the destination of service
headerPackageClassName Header class name which defined in above header(See above picture 2)
protoBufInfos List of protobuf files which will be used in scenario

3. Custom API configuration

Key Value Description Note
customScenarioAPI use Use custom scenario API or not
jarFile JAR file which define custom scenario API
apiClassName class name of custom scenario API