Appium Webdriverio安装程序

时间:2017-06-29 14:34:54

标签: node.js appium webdriver-io appium-ios

我需要帮助了解如何设置测试框架以使用Appium,W​​ebdriverio,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

任何帮助都会让我感激不尽!谢谢!

2 个答案:

答案 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

运行的测试用例