Android 使用Appium运行Behat测试
到目前为止,我成功地启动了selenium网格,并用nodeconfig文件注册了appium。 下一步是在beta.yml中创建配置文件,用于运行appium 我的appium nodeconfig文件是: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
{
"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文件的结构,似乎有很多参数可用。