Skip to content
This repository was archived by the owner on Dec 11, 2023. It is now read-only.

Commit 0b4e258

Browse files
committed
KITE Version 2.0.4
1 parent f73aefb commit 0b4e258

File tree

144 files changed

+5932
-4635
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

144 files changed

+5932
-4635
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ package-lock.json
1313
.project
1414
.DS_Store
1515
results
16+
/localGrid

KITE-AppRTC-Test/configs/alltest.apprtc.config.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
"callback": null,
44
"callable": true,
55
"reportFolder" : "",
6-
"remotes": [
6+
"grids": [
77
{
88
"type": "local",
9-
"remoteAddress": "http://localhost:4444/wd/hub"
9+
"url": "http://localhost:4444/wd/hub"
1010
}
1111
],
1212
"tests": [
@@ -164,7 +164,7 @@
164164
}
165165
}
166166
],
167-
"browsers": [
167+
"clients": [
168168
{
169169
"browserName": "chrome",
170170
"version": "74",

KITE-AppRTC-Test/configs/iceconnection.apprtc.config.json

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"name": "IceConnectionTest Suite",
33
"callable": true,
4-
"remotes": [
4+
"grids": [
55
{
66
"type": "local",
7-
"remoteAddress": "http://localhost:4444/wd/hub"
7+
"url": "http://localhost:4444/wd/hub"
88
}
99
],
1010
"tests": [
@@ -13,11 +13,9 @@
1313
"tupleSize": 2,
1414
"description": "This test check the ICEConnection state between two browsers communicating via appr.tc",
1515
"testImpl": "org.webrtc.kite.apprtc.tests.IceConnectionTest",
16-
"loadTest": true,
1716
"payload" : {
1817
"url": "https://appr.tc",
1918
"takeScreenshotForEachTest": true,
20-
"csvReport": true,
2119
"getStats" : {
2220
"enabled": true,
2321
"statsCollectionTime": 2,
@@ -28,11 +26,12 @@
2826
}
2927
}
3028
],
31-
"browsers": [
29+
"clients": [
3230
{
3331
"browserName": "chrome",
3432
"version": "74",
3533
"platform": "localhost",
34+
"headless": true,
3635
"flags": []
3736
}
3837
]

KITE-AppRTC-Test/configs/js.iceconnection.apprtc.config.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"name": "IceConnectionTest JS",
33
"callable": true,
4-
"remotes": [
4+
"grids": [
55
{
66
"type": "local",
7-
"remoteAddress": "http://localhost:4444/wd/hub"
7+
"url": "http://localhost:4444/wd/hub"
88
}
99
],
1010
"tests": [
@@ -15,6 +15,7 @@
1515
"testImpl": "IceConnectionTest.js",
1616
"payload" : {
1717
"url": "https://appr.tc",
18+
"port": 30000,
1819
"testTimeout": 60,
1920
"getStats" : {
2021
"enabled": true,

KITE-AppRTC-Test/js/IceConnectionTest.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const {TestUtils, WebDriverFactory, KiteBaseTest, Status} = require('kite-common');
1+
const {TestUtils, WebDriverFactory, KiteBaseTest} = require('kite-common');
22

33
// Steps & checks
44
const {OpenAppUrlStep, ConnectToAppRoomStep, GetStatsStep} = require('./steps');
@@ -39,6 +39,7 @@ class IceConnectionTest extends KiteBaseTest {
3939
await getStatsStep.execute(this);
4040
}
4141

42+
await super.waitAllSteps();
4243
} catch (error) {
4344
console.log(error);
4445
} finally {

KITE-AppRTC-Test/js/checks/PeerConnectionCheck.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
const {TestUtils, TestStep, Status, KiteTestError} = require('kite-common');
2-
const {apprtcMeetingPage} = require('../pages');
3-
42

53
/**
64
* Class: PeerConnectionCheck
@@ -37,7 +35,7 @@ class PeerConnectionCheck extends TestStep {
3735
}
3836

3937
// Every 1 sec
40-
await TestUtils.waitAround(1000)
38+
await TestUtils.waitAround(1000);
4139
time++;
4240
}
4341

KITE-AppRTC-Test/js/checks/RemoteVideoDisplayCheck.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const {TestUtils, TestStep} = require('kite-common');
1+
const {TestStep} = require('kite-common');
22

33
/**
44
* Class: RemoteVideoDisplayCheck

KITE-AppRTC-Test/js/package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
"license": "ISC",
1414
"dependencies": {
1515
"fs": "^0.0.1-security",
16-
"kite-common": "0.1.1",
17-
"selenium-webdriver": "^4.0.0-alpha.1"
16+
"kite-common": "0.1.3",
17+
"selenium-webdriver": "^4.0.0-alpha.1",
18+
"express": "^4.15.2",
19+
"socket.io": "^2.2.0"
1820
}
1921
}

KITE-AppRTC-Test/js/server.js

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
const app = require('express')();
2+
const http = require('http').createServer(app);
3+
const io = require('socket.io')(http);
4+
5+
let stepArray = [];
6+
let doneArray = [];
7+
8+
const port = process.argv[2];
9+
const numberOfParticipant = process.argv[3];
10+
const interval = 1000;
11+
12+
io.on('connection', function(socket) {
13+
console.log('Connected');
14+
15+
socket.on('disconnect', function(){
16+
console.log('user disconnected');
17+
});
18+
19+
socket.on("test finished", (id) => {
20+
stepArray.push(id);
21+
})
22+
23+
socket.on("done", (id) => {
24+
console.log("Test done for " + id);
25+
doneArray.push(id);
26+
})
27+
28+
function isFinished(){
29+
if(stepArray.length == numberOfParticipant) {
30+
socket.broadcast.emit('finished');
31+
}
32+
}
33+
function isDone() {
34+
if(doneArray.length == numberOfParticipant) {
35+
stepArray = [];
36+
doneArray = [];
37+
}
38+
}
39+
40+
function ckeckStatus() {
41+
isFinished();
42+
isDone();
43+
}
44+
45+
setInterval(ckeckStatus, interval);
46+
});
47+
48+
http.listen(port, function() {
49+
console.log('Listening on port ' + port);
50+
});
51+
52+

KITE-AppRTC-Test/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<parent>
99
<groupId>org.webrtc.kite</groupId>
1010
<artifactId>kite-base</artifactId>
11-
<version>2.0.2</version>
11+
<version>2.0.4</version>
1212
</parent>
1313

1414
<artifactId>apprtc-test</artifactId>

KITE-AppRTC-Test/src/main/java/org/webrtc/kite/apprtc/checks/BitrateCheck.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,26 @@
1818
import io.cosmosoftware.kite.exception.KiteTestException;
1919
import io.cosmosoftware.kite.report.Reporter;
2020
import io.cosmosoftware.kite.report.Status;
21+
import io.cosmosoftware.kite.interfaces.Runner;
2122
import io.cosmosoftware.kite.steps.TestCheck;
2223
import org.openqa.selenium.WebDriver;
2324
import org.webrtc.kite.apprtc.pages.AppRTCMeetingPage;
24-
import org.webrtc.kite.stats.StatsUtils;
2525

2626
import javax.json.Json;
2727
import javax.json.JsonArray;
2828
import javax.json.JsonObject;
2929

3030
import static io.cosmosoftware.kite.entities.Timeouts.FIVE_SECOND_INTERVAL;
3131
import static io.cosmosoftware.kite.entities.Timeouts.ONE_SECOND_INTERVAL;
32+
import static org.webrtc.kite.stats.StatsUtils.getStatOvertime;
3233

3334
public class BitrateCheck extends TestCheck {
3435
private int expectedBitrate = -1;
3536
private String mediaType;
3637
private String direction;
3738

38-
public BitrateCheck(WebDriver webDriver) {
39-
super(webDriver);
39+
public BitrateCheck(Runner runner) {
40+
super(runner);
4041
}
4142

4243
@Override
@@ -53,14 +54,13 @@ private void updateReport() {
5354

5455
@Override
5556
protected void step() throws KiteTestException {
56-
final AppRTCMeetingPage appRTCMeetingPage = new AppRTCMeetingPage(webDriver, logger);
5757
String stat = direction.equalsIgnoreCase("sending") ? "inbound-rtp" : "outbound-rtp";
5858
JsonArray selectedStat =
5959
Json.createArrayBuilder()
6060
.add(stat)
6161
.build();
6262
// Get a stats array of the selected stat for 5 seconds
63-
JsonObject stats = StatsUtils.getStatOvertime(
63+
JsonObject stats = getStatOvertime(
6464
webDriver, FIVE_SECOND_INTERVAL, ONE_SECOND_INTERVAL, selectedStat).build();
6565
double avgBitrate = computeBitrate(stats.getJsonArray("statsArray"), stat, mediaType);
6666
System.out.println("avgBitrate lah =>>>>>> " + avgBitrate);

KITE-AppRTC-Test/src/main/java/org/webrtc/kite/apprtc/checks/PeerConnectionCheck.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,19 @@
1717

1818
import io.cosmosoftware.kite.exception.KiteTestException;
1919
import io.cosmosoftware.kite.report.Status;
20+
import io.cosmosoftware.kite.interfaces.Runner;
2021
import io.cosmosoftware.kite.steps.TestCheck;
21-
import org.openqa.selenium.WebDriver;
2222
import org.webrtc.kite.apprtc.pages.AppRTCMeetingPage;
2323

2424
import static io.cosmosoftware.kite.util.TestUtils.waitAround;
2525

2626
public class PeerConnectionCheck extends TestCheck {
27+
28+
private final AppRTCMeetingPage appRTCMeetingPage;
2729

28-
public PeerConnectionCheck(WebDriver webDriver) {
29-
super(webDriver);
30+
public PeerConnectionCheck(Runner runner) {
31+
super(runner);
32+
appRTCMeetingPage = new AppRTCMeetingPage(runner);
3033
}
3134

3235
@Override
@@ -36,7 +39,6 @@ public String stepDescription() {
3639

3740
@Override
3841
protected void step() throws KiteTestException {
39-
final AppRTCMeetingPage appRTCMeetingPage = new AppRTCMeetingPage(webDriver, logger);
4042
for (int elapsedTime = 0; elapsedTime < this.checkTimeout; elapsedTime += this.checkInterval) {
4143
String state = appRTCMeetingPage.getICEConnectionState();
4244
if (state.equalsIgnoreCase("failed")) {

KITE-AppRTC-Test/src/main/java/org/webrtc/kite/apprtc/checks/RemoteVideoDisplayCheck.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@
1919
import io.cosmosoftware.kite.report.Reporter;
2020
import io.cosmosoftware.kite.report.Status;
2121
import io.cosmosoftware.kite.steps.TestCheck;
22-
import org.openqa.selenium.WebDriver;
22+
import io.cosmosoftware.kite.interfaces.Runner;
2323
import org.webrtc.kite.apprtc.pages.AppRTCMeetingPage;
2424

2525
public class RemoteVideoDisplayCheck extends TestCheck {
26-
protected AppRTCMeetingPage appRTCMeetingPage = null;
26+
protected AppRTCMeetingPage appRTCMeetingPage;
2727

28-
public RemoteVideoDisplayCheck(WebDriver webDriver) {
29-
super(webDriver);
28+
public RemoteVideoDisplayCheck(Runner runner) {
29+
super(runner);
30+
appRTCMeetingPage = new AppRTCMeetingPage(runner);
3031
}
3132

3233
@Override
@@ -36,11 +37,7 @@ public String stepDescription() {
3637

3738
@Override
3839
protected void step() throws KiteTestException {
39-
if (appRTCMeetingPage == null) {
40-
appRTCMeetingPage = new AppRTCMeetingPage(webDriver, logger);
41-
}
4240
logger.info("Looking for video object");
43-
4441
String videoCheck = appRTCMeetingPage.remoteVideoCheck();
4542
if (!"video".equalsIgnoreCase(videoCheck)) {
4643
Reporter.getInstance().textAttachment(report, "Remote Video", videoCheck, "plain");

KITE-AppRTC-Test/src/main/java/org/webrtc/kite/apprtc/checks/RemoteVideoHDCheck.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,17 @@
1919
import io.cosmosoftware.kite.report.Reporter;
2020
import io.cosmosoftware.kite.report.Status;
2121
import io.cosmosoftware.kite.steps.TestCheck;
22-
import org.openqa.selenium.WebDriver;
22+
import io.cosmosoftware.kite.interfaces.Runner;
2323
import org.webrtc.kite.apprtc.pages.AppRTCMeetingPage;
2424

2525
import javax.json.JsonObject;
2626

2727
public class RemoteVideoHDCheck extends TestCheck {
28-
protected AppRTCMeetingPage appRTCMeetingPage = null;
28+
protected AppRTCMeetingPage appRTCMeetingPage;
2929

30-
public RemoteVideoHDCheck(WebDriver webDriver) {
31-
super(webDriver);
30+
public RemoteVideoHDCheck(Runner runner) {
31+
super(runner);
32+
appRTCMeetingPage = new AppRTCMeetingPage(runner);
3233
}
3334

3435
@Override
@@ -38,9 +39,6 @@ public String stepDescription() {
3839

3940
@Override
4041
protected void step() throws KiteTestException {
41-
if (appRTCMeetingPage == null) {
42-
appRTCMeetingPage = new AppRTCMeetingPage(webDriver, logger);
43-
}
4442
JsonObject resolution = appRTCMeetingPage.getResolution("remote");
4543
int width = resolution.getInt("width");
4644
int height = resolution.getInt("height");

KITE-AppRTC-Test/src/main/java/org/webrtc/kite/apprtc/pages/AppRTCJoinPage.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717

1818
import io.cosmosoftware.kite.exception.KiteTestException;
1919
import io.cosmosoftware.kite.pages.BasePage;
20-
import org.apache.log4j.Logger;
20+
import io.cosmosoftware.kite.report.KiteLogger;
21+
import io.cosmosoftware.kite.interfaces.Runner;
2122
import org.openqa.selenium.WebDriver;
2223
import org.openqa.selenium.WebElement;
2324
import org.openqa.selenium.support.FindBy;
@@ -29,8 +30,8 @@ public class AppRTCJoinPage extends BasePage {
2930
@FindBy(id="confirm-join-button")
3031
WebElement joinButton;
3132

32-
public AppRTCJoinPage(WebDriver webDriver, Logger logger) {
33-
super(webDriver, logger);
33+
public AppRTCJoinPage(Runner runner) {
34+
super(runner);
3435
}
3536

3637
public void joinRoom(String roomId) throws KiteTestException {

0 commit comments

Comments
 (0)