我想使用appium在真实设备上运行本地服务器测试。有没有什么现有的功能可以让我这样做?我基本上有一个服务器运行在我的本地机器上的一个端口上,但我想在真实的设备上测试它。例如,我想在一个真实的设备上测试http://locahost:3000。如何在真正的移动设备上使用此端口?我知道Browser/Stack或Sauce实验室使用自己的本地二进制文件实现了这一点。这可以用appium来实现吗?
注意:我已经准备好了网格设置,并配置了真实的设备,我可以正常运行其他测试。
编辑:只是为了表达清楚,避免不相关的回答。我正在寻找类似网络共享的东西,从机器上调用测试以在真实设备上运行。我想测试一个服务器,这是托管在本地,在互联网上不可用。
发布于 2019-02-27 00:13:32
为了在真实设备上测试,您的设备必须连接到您的计算机。要在多个设备上运行测试,必须运行appium服务器的多个实例。您必须使用DesiredCapabilities中的device udid在特定设备上运行测试。
要在端口3000中运行appium服务器,必须在终端中运行以下命令:
appium -a 127.0.0.1 -p 3000 --session-override要运行上述命令,必须在系统中安装
Appium服务器。
不建议使用端口3000,因为其他程序可能正在使用同一端口。
要在真实设备中运行该应用程序,您可以定义您的AppiumDriver和DesiredCapabilities,如下所示:
public class Test1(){
public static AppiumDriver<MobileElement> driver;
public static void main(String[] args){
DesiredCapabilities caps=new DesiredCapabilities();
caps.setCapability(MobileCapabilityType.UDID, "your device udid");
caps.setCapability(MobileCapabilityType.DEVICE_NAME, "android device");
caps.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID);
caps.setCapability("appPackage", appPackage);
caps.setCapability("appActivity", appActivity);
caps.setCapability(MobileCapabilityType.AUTOMATION_NAME, "uiautomator2");
try{
driver == new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:3000/wd/hub"), caps);
}catch(Exception e){
e.printStackTrace();
}
}发布于 2019-02-27 00:40:53
请检查下面的链接以在Appium中应用代理设置。
https://www.npmjs.com/package/appium-proxy#setup-a-basic-appium-proxy
https://stackoverflow.com/questions/54885885
复制相似问题