缺少Xcode 6页面元素的Appium_lib

时间:2015-03-04 20:16:17

标签: ios ruby automation appium pry

我刚刚通过appium在此提供的设置和示例应用程序测试教程 - http://appium.io/slate/en/tutorial/ios.html?java#starting-the-console启动了iOS自动化与Appium v​​1.3.5。

在Appium Ruby控制台页面命令上使用Pry过滤掉元素我注意到屏幕上没有的元素,这意味着我不得不向下滚动到那些元素。该教程说页面类:UIAStaticText将带回页面上所有提到的元素,但我得到的是那些不在我当前屏幕上的元素。滚动命令也让我失望了。但是为什么滚动,如果我只想返回页面上的元素。我怎么能做到这一点?是我的模拟器(iphone 6 iOS v8.1)吗?是Xcode吗?我知道Xcode 6有appium的问题。请帮忙。谢谢!

  name, label, value: AAPLSliderViewController
  UIAStaticText
  name, label, value: Steppers
  nil
  [2] pry(main)>

我也错过了网络流量信息。

  {
   :script => "UIATarget.localTarget().frontMostApp().windows()[0].getTree()"
   } 
   post /execute
   {
  :script => "UIATarget.localTarget().frontMostApp().windows()[1].getTree()"
   }
    post /execute
   {
   :script => "mobile: getStrings"
    }

1 个答案:

答案 0 :(得分:0)

Page只会显示用户可以看到的元素。或屏幕上的那些。如果你必须滚动查看一个单元格,静态文本元素等..它将无法通过页面。

以下对我有用:

   b = $driver.find_element :name, 'Sign In' 
   $driver.execute_script 'mobile: tap', :element => b.ref 

但是,如果您正在使用混合应用程序,我不会推荐上述方法。我建议像这样切换到webview:set_context(available_contexts [1])。这将允许您使用不需要SWIPE或SCROLL To的!!但是只能在“NATIVE_APP”之外。

相关问题