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 [email protected]进行安装)
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模式。