Мне не удается запустить один тестовый скрипт на нескольких устройствах, несмотря ни на что.
У меня есть один тестовый apk и тестовый скрипт, извлеченный из какого-либо сайта, в качестве примера, который находит текстовое поле в приложениизатем ввод "Hello World!"в это тогда сценарий готов. Я пытаюсь проверить скрипт на двух устройствах, как сейчас. Я создал четыре пакетных сценария, в которых два запускают два экземпляра серверов appium с разными параметрами, а два других запускают два экземпляра тестового сценария с разными параметрами (которые включают в себя возможности).
Построениекомандные файлы:
run-servers.bat
start "Appium Server 1" appium -p 5000 -bp 5100 --session-override
start "Appium Server 2" appium -p 5001 -bp 5101 --session-override
(я не знаю, что именно --session-override
должен делать точно, так как нет описания этого наИнтернет содержит подробные, но с или без него, такие же результаты происходят).
run-testscript.bat
start "Test 1" node testing.js 5000 9 Emulator-9 emulator-5554
start "Test 2" node testing.js 5001 7 Emulator-7 emulator-5556
(Дополнительные параметры после файла сценарияявляются:
<Port> <Android-Version> <Device Name> <Unique ID>
)
и сценарий:
const driver = require("webdriverio");
const args = process.argv;
const caps = {
port: parseInt(args[2]),
capabilities: {
platformName: "Android",
platformVersion: args[3],
deviceName: args[4],
app: "D:/Node/Appium/Test/apk/ApiDemos-debug.apk",
appPackage: "io.appium.android.apis",
appActivity: ".view.TextFields",
automationName: "UiAutomator2",
uniqueID: args[5]
}
};
async function test(caps) {
const client = await driver.remote(caps);
const field = await client.$("android.widget.EditText");
await field.setValue("Hello World!");
const value = await field.getText();
assert.equal(value, "Hello World!");
await client.deleteSession();
}
test(caps);
Когда я запускаю два экземпляра теста, приложение запускается на обоих устройствах, но на одномустройство не вводит "Hello World!"в то время как с другой делает. Существует также «ECONNRESET: ошибка на стороне сервера, бла-бла» на сервере, на котором включено устройство без ввода.