我需要帮助了解如何设置测试框架以使用Appium,Webdriverio,Node.js,Jasmine。我已经设置了wdio.conf.js文件:
host: '127.0.0.1',
port: 4723,
path: '/wd/hub',
...
specs: [
'./spec/wdtest/test.js'
],
...
capabilities: [
{
automationName: "appium",
browserName: 'iOS',
commandTimeout: '7200',
sessionOverride: true,
debugLogSpacing: true,
platformVersion: '10.1',
platformName: 'iOS',
showIosLog: true,
deviceName: 'iPhone 6s',
nativeInstrumentsLib: true,
isolateSimDevice: true,
autoLaunch: true,
app: '/Users/fodgerl/Library/Developer/Xcode/...../Debug-iphonesimulator/myapp.app'
}
],
...
services: ['appium'],
appium: {
args: {
address: '127.0.0.1',
commandTimeout: '7200',
sessionOverride: true,
debugLogSpacing: true,
platformVersion: '10.1',
platformName: 'iOS',
deviceName: 'iPhone 6s',
showIosLog: true,
nativeInstrumentsLib: true,
isolateSimDevice: true,
app: '/Users/fodgerl/Library/...../Products/Debug-iphonesimulator/myapp.app'
}
},
framework: 'jasmine',
我的package.json文件有:
"scripts": {
"test": "wdio wdio.conf.js"
},
我有一个测试js文件,其中包含:
describe('test', function() {
it('test', function () {
//how do I interact with the app?
console.log("HEREEEEE");
});
});
当我运行npm测试时,模拟器启动并且应用程序在其中启动。我不知道的是下一步去哪里?如何打开应用程序/与元素等进行交互
我见过这样的例子:
var client = webdriverio.remote({
port: 4723,
logLevel: 'verbose',
desiredCapabilities: {
platformName: 'iOS',
platformVersion: '8.4',
deviceName: 'iPhone 6',
app: webviewApp
}
});
但如果我已经从conf文件中的东西启动并运行模拟器,我是否需要这样做?我试图找到一些关于.remote(),init()等的文档。此外,我在启动器中查找了webdriverio,但我无法确定此处示例中使用的位置和方式:https://github.com/webdriverio/webdriverio/blob/master/examples/wdio/runner-specs/jasmine.spec.js
任何帮助都会让我感激不尽!谢谢!
答案 0 :(得分:1)
在运行$ npm test
时,它会执行$ ./node_modules/.bin/wdio wdio.conf.js
。所以你已经启动并运行了wdio测试运行器。
现在,如The Browser Object小节所述:
如果使用wdio测试运行器,则可以通过全局
browser
对象访问webdriver实例。会话由测试运行器初始化,因此您无需调用init
命令。结束会话也是如此。这也是由测试运行程序完成的。
那就是它!您可以通过全局变量browser
访问驱动程序实例,如前面提到的example所示。
希望有所帮助!
答案 1 :(得分:0)
webdriver.io仅用于运行测试。不与应用程序交互。使用appium来app /与元素/等交互。 Appium将记录步骤和元素路径。从这里,您可以创建可以使用wedriver.io
运行的测试用例