Robot framework app自动化测试常见问题总结

上一篇 / 下一篇  2017-07-18 14:22:45 / 个人分类:自动测试工具

1、抓取ACTIVITY的简便方法

首先连接手机  打开待测的APP  然后在PC上打开CMD  输入adb shell dumpsys activity |find "mFocusedActivity"
   可以直接定位到activity

2、如何保证APP和WEB都可以使用(app的谷歌浏览器需要INSPECT,WEB需要运行脚本)
使用55版本的Chrome,

关于谷歌  inspect的空白页问题 已解决
在HOST文件中加入映射
61.91.161.217    chrome-devtools-frontend.appspot.com
61.91.161.217    chrometophone.appspot.com
谷歌浏览器 55版本   安卓手机 6.0.1已可以使用
3、个别手机每次跑自动化时需要安装unlock 和 appium setting 如何禁用?

禁掉Appium中安装Unlock, Setting, Android Input Manager
方法很简单,按照如下方法修改2个文件:
第一个文件:android-helpers.js
位置: /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/lib
改动点:

4、如果没有Andriod手机,如何开展自动化测试

     解决:安装“天天模拟器”,安装本地apk应用即可测试,方便快捷,如果遇到需要测试toast提示信息的,模拟器支持有点问题,建议让开发统一改成一种提示信息类型;

5、如何保证模拟器测试通过就代表在真机上测试通过?

 解决:1、跟开发确认是否认同模拟器和真机一致,识别出模拟器和真机不同的功能点,专门用真机执行;2、在模拟器调通代码后,在真机上跑一遍,看是否有问题,如果没有问题则说明模拟器可以代表真机,后续则可以在模拟器上进行版本回归测试;

6、用模拟器的好处是什么?

 解决:可以选择不同的Andriod版本,模拟不同的机型进行测试,不需要真机,最重要的就是不需要花钱;

7、编写脚本时,如何保证脚本的稳定性和健壮性,减少后续的维护成本?

解决:locator用相对路径而坚决不用绝对路径,谨记!

8、Press keycode方法,对应的code值有那些?

    参考:https://testerhome.com/topics/799

9、(Andriod)在编写测试用例时,需要经常进行调试脚本运行情况,但每次执行都需要重新安装登录,非常繁琐和耗时

    解决方法:在执行一次安装登录操作后,停止Appium程序,点击Android Settings ,选中“No Reset”,重新启动Appium。再次执行用例时就不会重新安装登录了。

10、(Andriod)执行脚本,跑完几次之后,总是遇到“ WebDriverException: Message: A new session could not be created. ”,怎么解决?

    答:Appium is probably shut down or something like there is already a session。so you have to start it again start it from the terminal or command prompt using the command appium.

          you can use command appium-doctor  for detail reason.

11、输入信息时,总会弹出手机自带键盘

解决方法:将手机默认键盘选择为appium android input manager for unicode

12、划屏无反应

解决方法:driver.swipe(windht*6/7,heigh/2,widht/7,height/2,2);

第一步,了解手机分辨率,例如:1080*1980

第二步,将1080设置成X轴,1980设置为Y轴,计算出预计想滑动尺寸

13、文本输入框不允许输入中文,如何解决?

答:需要修改一下AppiumLibrary 的这个文件:

F:\Python27\Lib\site-packages\AppiumLibrary\keywords_applicationmanagement.py

这里写图片描述

加入两行代码就可以了。

desired_caps["unicodeKeyboard"] = "True"

  desired_caps["resetKeyboard"] = "True"

这个时候跑case 的时候,appium 会把测试手机的输入法设置成Appium 的输入法。这个输入法不能弹出键盘,如果需要正常输入,就需要切换回系统的输入法。或者你自己安装的输入法。 


14、输入密码之后,密码键盘没有隐藏,遮挡下面的按键,导致无法点击下面的按钮,如何解决?

      答:输入密码之后,在点击按钮之前,增加go back关键字----我封装的“页面回退”关键字。

15、appium自动化测试中如何获取toast消息?

     答: 1、需要安装Appium 1.6.3版本;(首先安装node.js V6.11.0版本,之后通过命令行:npm install -g appium@1.6.3进行安装)

             2、脚本设计中使用desired_caps['automationName']='uiautomator2';

             3、封装关键字Find_Toast,里面的代码内容如下:

                   message='密码输入不一致,请重新输入'

                  message1='//*[@text=\'{}\']'.format(message)

                  element=WebDriverWait(driver,10,poll_frequency=0.5).until(expected_conditions.presence_of_element_located((By.XPATH,message1)))

16、在WebView模式下,capture screenshot关键字不可用,如何解决?

     答: 如果要截图,先切回到Native模式,在进行截图。

17、在WebView模式下,swipe关键字不可用,如何解决?

   答: 如果要滑动,先切回到Native模式,滑动完之后在切换到webview模式。


TAG: RobotFramework Robotframework robotframework App自动化测试

天空的芽的个人空间 引用 删除 天空的芽   /   2018-10-18 18:21:00
如何封装关键字find_coast还请指教
天空的芽的个人空间 引用 删除 天空的芽   /   2018-10-18 15:27:32
针对第九个问题,请问如果是在appium-desktop上呢?
 

评分:0

我来说两句

Open Toolbar