Appium Robot Framework + Appium DEMO

lily · 2014年03月11日 · 最后由 思寒_seveniruby 回复于 2014年03月12日 · 2387 次阅读
本帖已被设为精华帖!

折腾了俩周末,照着 sample-code/examples/java 里面的例子,大部分的翻成了 RF 的语法。

https://github.com/LilyGu/RFDemo-for-Appium

大致步骤:

  1. 首先搭建 RF (依次 安装 python, robot framework, ride)捎带上我以前的 [笔记] 供参考 (http://www.cnblogs.com/GGHHLL/archive/2013/06/07/3123604.html)

    ---- Selenium2Library 的安装: pip install robotframework-selenium2library
    ---- RequestsLibrary 的安装: pip install -U robotframework-requests

  2. 将上面 git 上面我残缺的 demo, robot 文件夹 放至 /appium/sample-code/examples/

  3. 启动 appium,选择 UIcatalog.app

  4. 运行脚本,可以 ride 中,也可以 pybot UIcatalogTest.html

遇到以下三个问题,待大家共同解决

  1. action perform 问题, java 中 selenium 实现鼠标操作,如拖拽 是用 action 实现的, RF 提供了三方库,但是似乎对 app 中的 element 不起效果,总是报错:当前操作的 element 不是 html 资源
  2. get source,对于 ‘testSource’ 这个 case, 关键一步是要获得当前页面的源文件,RF 提供了关键字去获得,但是获得的元素 value 要么是坐标要么是 NULL,没有具体的内容
  3. get session,在 ‘testSessions’ 的最后一步用到, 是在当前 driver 中得到当前的 session,但是也是报错:需要 web view
共收到 9 条回复 时间 点赞
11楼 已删除
  1. 拖拽用 mobile 方法就可以了.
  2. get source 可以返回整个 page source, 但是对于 app, 没有 value 属性, 可以使用 text.
  3. 没看懂问题.

建议你贴上你的代码

lily #9 · 2014年03月17日 Author


上面是问题 3 的代码实现, 和 java 的那个 demo 一样的设计,最后是验证当前创建的 session ${sessionB}与 driver 获取的 session 值 ${driverSession} 一致,在最后一步使用 “Get Cookie Value” 关键字时,RF 报错,需要 web view 的方式(意思是当前 driver 不是 web 浏览模式)

lily #8 · 2014年03月17日 Author
  1. 拖拽用 mobile 方法就可以了.-----在 RF 中, 这个 mobile 方法在哪个 Library 里的呢?

#4 楼 @lily hi robotframework-requests 这个是干啥用的呢?

还有一个问题,元素控件怎么抓取,用 xpath

lily #6 · 2014年04月03日 Author

#5 楼 @oscar 就如 java 的 httpClient 一样,基于 http 协议发 post 请求进行测试的

lily #7 · 2014年04月03日 Author

#6 楼 @oscar appium 有自带工具的,不过好像不支持带参数的 xpath 写法,只能层层定位

#8 楼 @lily 你好,我在 Appium 上已经找不到 UIcatalog 了,想跑一下 RF 的 DEMO,可以再 github 上传一份吗?谢谢了~

我是个菜鸟,请问下,robotframework+appium,在 ride 中怎么设置(例如导入什么 library),才能驱动 IOS 的 APP 或者 android 的 apk?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册