Testing Appium codeception iOS模拟器错误:找不到任何Web视图,正在刷新/重试

Testing Appium codeception iOS模拟器错误:找不到任何Web视图,正在刷新/重试,testing,mobile,ios-simulator,appium,codeception,Testing,Mobile,Ios Simulator,Appium,Codeception,当我尝试在iPad模拟器上启动safari并执行$I->amOnPage(“”)时。Safari浏览器已启动,但卡在。我在appium日志中看到这条警告“找不到任何Web视图,正在刷新/重试”,然后什么也没发生 我使用Appium 1.4.8、OS X 10.10 Yosemite、codeception 2.1.2、XCode 6.4。我不知道我做错了什么。我在网上查了一下,有人说我应该运行ios\uWebKit\uProxy\uLauncher。我试着在27753上用-c和模拟器UDID-d

当我尝试在iPad模拟器上启动safari并执行$I->amOnPage(“”)时。Safari浏览器已启动,但卡在。我在appium日志中看到这条警告“找不到任何Web视图,正在刷新/重试”,然后什么也没发生

我使用Appium 1.4.8、OS X 10.10 Yosemite、codeception 2.1.2、XCode 6.4。我不知道我做错了什么。我在网上查了一下,有人说我应该运行ios\uWebKit\uProxy\uLauncher。我试着在27753上用-c和模拟器UDID-d选项运行它,然后重试我的测试。还是没有变化。ios代理已启动,但没有任何日志。以下是我正在使用的所需功能:

modules:
enabled:
    - WebDriver
config:
     WebDriver:
        url: 'http://www.amazon.com'
        connection_timeout: 500
        request_timeout: 500
        browser: 'safari'
        host: 127.0.0.1
        port: 4723
        capabilities:
          browserName: 'safari'
          platformVersion: "8.4"
          platformName: "iOS"
          deviceName: 'iPad Retina'
          connection_timeout: 500
          request_timeout: 500
有什么想法吗?谢谢


然而,我可以让事情与PHPUnit很好地工作!我不知道codeception是怎么回事。

在safari浏览器中打开webview时,我也遇到了这个问题。我当时正在使用iPhone设备。但以下前提条件应与模拟器相同。
机器应具有:

  • 安装了Appium

  • 已安装libplist 1.10

  • 已安装libusbmuxd 1.0.8

  • 已安装libimobiledevice 1.1.5

  • 如果您正在设备上运行,请打开(然后将设置转到开发人员) UIautomator)UI automator和safari转到web上的高级打开 检查员
  • 打开终端运行以下命令:-

    ios\u webkit\u调试\u代理

    按回车键

  • 按以下命令打开终端上的新窗口:-

    ios_webkit_debug_proxy–c:27753–d

    不要更改端口号

  • 设备(在你们的情况下,模拟器)应该连接到机器上


谢谢你,mk08。我稍微调整了一下safari浏览器。在使用appium的ios上,如果没有将默认页面设置为safari浏览器,Codeception将失败。我现在已经将默认页面设置为Google(它可以是任何东西),然后appium能够找到webview,并继续测试。不知道这是appium或codeception的缺陷还是两者都有。那里有某种沟通问题。我根本不需要启动IOS代理套件。是的,当你从iOS调用Safari应用程序时,驱动程序将其视为本地视图。当您使用driver.get(“任意URL”)导航到某个URL时,它将获得WebView。在这里,您必须显式切换到webview。在您的情况下,您的调整可能会起作用。但如果你稍后尝试测试混合应用程序,你可能会面临同样的问题。因此,如果我们检查有多少视图可用,然后切换到必需的视图,这将非常有用。mk08,如何在代码中切换到webview?如果我在移动浏览器中运行测试,appium不应该这样做吗?我提到了webview和native view,因为在您的情况下,safari应用程序(没有您的调整)正在使用native view打开。但是现在您已经设置了默认页面,appium将获得webview并运行您的测试。在测试混合应用程序时切换视图是另一回事,您可以在internet上找到n个解决方案:)