Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用Appium运行Behat测试_Android_Appium_Selenium Grid_Behat - Fatal编程技术网

Android 使用Appium运行Behat测试

Android 使用Appium运行Behat测试,android,appium,selenium-grid,behat,Android,Appium,Selenium Grid,Behat,到目前为止,我成功地启动了selenium网格,并用nodeconfig文件注册了appium。 下一步是在beta.yml中创建配置文件,用于运行appium 我的appium nodeconfig文件是: { "capabilities": [ { "browserName":"Android", "version":"5.1", "maxInstances":1, "platform":"ANDROID", "deviceName":"emulator-5554", "applicatio

到目前为止,我成功地启动了selenium网格,并用nodeconfig文件注册了appium。 下一步是在beta.yml中创建配置文件,用于运行appium

我的appium nodeconfig文件是:

{
"capabilities":
[
{
"browserName":"Android",
"version":"5.1",
"maxInstances":1,
"platform":"ANDROID",
"deviceName":"emulator-5554",
"applicationName":"Nexus"
}
],
"configuration":
{
"cleanUpCycle":2000,
"nodeTimeout":120,
"timeout":30000,
"proxy":"org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"http://0.0.0.0:4723/wd/hub",
"maxSession":1,
"port":4723,
"hub":"0.0.0.0:4444/grid/register",
"hubPort":"4444",
"hubHost":"0.0.0.0",
"register":true,
"registerCycle":10000,
"nodePolling":2000
}
}
请建议如何在.yml文件中设置功能。到目前为止,我试过:

appium:
  extensions:
      Behat\MinkExtension\Extension:
        base_url:url_here  
        javascript_session: 'selenium2'
        selenium2:
          browser: 'android'
          wd_host: http://0.0.0.0:4723/wd/hub
          capabilities: {"platformName": "Android", "browserName": "Browser", "applicationName":"Nexus", "deviceName": "emulator-5554"}
我错误地说,这些功能不存在。 我还尝试将这些功能放在上下文/参数中,但仍然不匹配


请告知!谢谢

这是适合我的配置。要求如下:

  • 应启动Appium服务器。我使用桌面版
  • 您还需要avd和avd仿真设备。使用Android开发工具创建一个(提供一个好的名称,您需要将该名称添加到behat配置)
  • 将此添加到您的行为配置文件(配置名为android,但您可以在默认情况下添加此配置):
安卓:

   autoload:
    '': %paths.base%/bootstrap/
   extensions:
    Behat\MinkExtension:
      base_url: http://google.com
      javascript_session: 'foo' 
      sessions:
       foo:
        appium:
         browser: "chrome"
         appium_host: "http://127.0.0.1"
         appium_port: "4723"
         capabilities: {"platformName": "Android", "deviceName": "Android Emulator", "browser": "chrome", "avd": "Nexus"}   suites: # list of test suites available for current profile ("default" in this case)
    default: # this suite is called "default"
      paths: # check these paths
        features: %paths.base%/Features
        bootstrap: %paths.base%/Android/bootstrap/
      contexts: # use these contexts (test suites)
        - FeatureContextAndroid: # FeatureContext class"
        - Behat\MinkExtension\Context\RawMinkContext
在这个配置中,“foo”只是一个名称,您可以使用任何您想要的名称。Appium端口/主机是默认端口/主机。我使用chrome来运行我的测试。我的模拟器的名字也是“Nexus”。“avd”必须是您在创建设备时使用的确切名称(您可以使用任何您想要的名称)


如果您想调试或查看behat通过mink扩展为Appium断点支持的确切功能,请在库“AppiumFactory.php”(Vendor\behat\mink extension\src\behat\MinkExtension\ServiceContainer\Drivers)中运行测试。

是否尝试将版本设置为空版本?版本:''是的,我也试过了。但是我没有找到behat.yml文件的结构,似乎有很多参数可用。