AWS appium ios 测试总是失败

Posted

技术标签:

【中文标题】AWS appium ios 测试总是失败【英文标题】:AWS appium ios test always fail 【发布时间】:2017-06-11 18:34:55 【问题描述】:

我正在使用 appium junit 实施 aws 自动化测试。

我正在尝试在 aws device farm 上运行我的测试脚本,我的测试脚本在模拟器上运行良好,但在 aws 设备上却失败了。错误没有正确描述问题。

每当我在 aws 设备上运行我的脚本时,都会出现以下错误。 当我看到视频时,应用程序已成功启动,然后屏幕上没有任何反应。我可以看到第一个弹出窗口要求允许推送通知,然后在弹出窗口被关闭后没有任何反应。

  failed: An error occurred while executing user supplied javascript. 
(WARNING: The server did not provide any stacktrace information) Command
 duration or timeout: 1.48 seconds Build info: version: '2.53.0', revision:
 '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46' 
System info: host: 'ip-172-31-13-65', ip: '172.31.13.65', os.name: 'Linux',
 os.arch: 'amd64', os.version: '3.13.0-53-generic', java.version: 
'1.8.0_65' Driver info: io.appium.java_client.ios.IOSDriver Capabilities 
[networkConnectionEnabled=false, desired=, warnings=, 
webStorageEnabled=false, locationContextEnabled=false, browserName=iOS, 
takesScreenshot=true, javascriptEnabled=true, databaseEnabled=false, 
platform=MAC] Session ID: ca42e475-f253-40ed-a143-fef52146f655

这是我的 java appium 测试脚本

DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.IOS);
        capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "9.1");
        capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 5s");
        capabilities.setCapability(CapabilityType.BROWSER_NAME, MobilePlatform.IOS);
        capabilities.setCapability("autoAcceptAlerts", true);
        capabilities.setCapability("showIOSLog", true);
        capabilities.setCapability(CapabilityType.SUPPORTS_NETWORK_CONNECTION, true);



        String path = "/Users/home/Desktop/";
        File app;
        app = new File(path,"projectapp.ipa");
        capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());

        capabilities.setCapability(MobileCapabilityType.FULL_RESET, false);
        capabilities.setCapability(MobileCapabilityType.NO_RESET, true);

        URL url =new URL("http://127.0.0.1:4723/wd/hub");
        driver = new IOSDriver<WebElement>(url, capabilities);

我在没有人关注的 aws 论坛上发布了一个问题。

https://forums.aws.amazon.com/thread.jspa?threadID=247887

【问题讨论】:

6 天没人接听…… 您提到的AWS论坛帖子现已得到答复。 【参考方案1】:

除了 URL 之外,不要设置任何 DesiredCapabilities。进一步提供帮助的资源是:

The Appium Developer Guide AWS Device Farm sample Appium tests Step-by-step 构建 Appium 测试

如果您需要具体帮助,请向 AWS 提交支持案例或将您的问题发布到 AWS Device Farm forum,我们可以提供进一步帮助。

【讨论】:

我也在aws论坛上发布了一个问题,让我试试你给我的建议,我现在只尝试使用URL

以上是关于AWS appium ios 测试总是失败的主要内容,如果未能解决你的问题,请参考以下文章

AWS - 亚马逊设备农场与 iOS 设备 NodeJS 中的 Appium 测试的兼容性

无法在 iOS Appium 测试(AWS Device Farm)上切换到 WebView 上下文

软件测试进阶之自动化测试——python+appium实例

AWS Device Farm 上的 ruby​​-appium-cucumber 问题

Appium-测试失败后屏幕截图的

关于移动端自动化测试-Appium的搭建