我的情况是我需要将一个浏览器作为客户端运行,将另一个浏览器作为代理运行。在桌面上这很容易,我们使用用户选择的浏览器和代理的幻像。
使用Appium并在Android模拟器上运行我在尝试复制桌面设置时遇到问题。我首先尝试让计算机运行幻像,然后运行Appium测试,但Appium告诉我,它没有识别幻像。我仍然找不到让桌面上有幻像运行的方法,同时仍然在手机上使用Appium。
接下来我想我会直接在手机Chrome中自动化代理端,以避免桌面和手机之间的分离。但是,我仍然遇到问题,因为我似乎无法在Chrome中创建新标签以切换到甚至运行两个不同的手机,我无法在它们之间切换。
由于此自动化的可能最终用户的可读性,我们决定使用RobotFramework和AppiumLibrary进行编码。
这是第一个运行的关键字:
*** Keywords ***
Specifying a Known Mobile Device
API Login regression password
sleep 10
Agent Login
Open Application http://localhost:4723/wd/hub platformName=Android browserName=Chrome platformVersion=7.1.1 deviceName=Nexus6P app=com.android.chrome automationName=appium appPackage=com.android.browser appActivity=com.google.android.apps.chrome.Main
go to url blahblah.com
Check Availability Regression Flow HSSMobile
API登录和代理登录是:
API Login
[Arguments] ${UN} ${PW}
Set Global Variable ${ACCOUNTNAME} ${UN}
Set Global Variable ${ACCOUNTPWD} ${PW}
Open Application http://localhost:4725/wd/hub platformName=Android browserName=Chrome platformVersion=7.1.1 deviceName=Pixel app=com.android.chrome automationName=appium appPackage=com.android.browser appActivity=com.google.android.apps.chrome.Main
go to url blahblahapi.com
Agent Login
MobileLibrary.Wait Until Element Is Visible ${USERNAME} 25
MobileLibrary.Input Text ${USERNAME} ${ACCOUNTNAME}
MobileLibrary.Input Text ${PASSWORD} ${ACCOUNTPWD}
MobileLibrary.Click Element ${LOGIN}
我想我在Open Application关键字中做错了什么,但我不确定。我在命令行中运行了两个Appium实例。
appium
和
appium -p 4725
然而,一切都只在其中一部手机上运行。