Appium基础篇12-解决执行完脚本,手机键盘隐藏的问题
2017-09-10 22:55
525 查看
学到了这篇,我们开始来写一个自动化测试脚本,重点在测试,也就是说断言。这前面我们只不过是把点击和输入转换成自动化的方式,这篇开始,我们需要加入断言,这样才能算一个完整的自动化测试脚本。
1. 脚本内容如下
在driver.press_keycode(66), 这个表示搜狗输入法键盘上的“搜索按钮”,这个可能输入法不同造成这个地方可能不是66,这里需要注意。由于手机百度,在搜索结果列表,不支持对搜索结果项进行元素定位,所以无法正常默认手工测试的断言,这里只好简单断言下,输入的“Appium”会不会在搜索框内显示。由于这个问题,下篇文章,我可能要换一个app来演示测试。
如果你想测试失败,你可以写成
1. 脚本内容如下
import os import time from appium import webdriver apk_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) # 获取当前项目的根路径 desired_caps ={ 'platformName': 'Android', 'platformVersion': '6.0.1', 'deviceName': 'KIW-AL10', 'noReset': True, 'appPackage': 'com.baidu.searchbox', 'appActivity': 'com.baidu.searchbox.SplashActivity', 'unicodeKeyboard': True, 'resetKeyboard': True } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)#启动app time.sleep(3) #app启动后等待3秒,方便元素加载完成 # 根据元素xpath来定位 # 点击“输入框” driver.find_element_by_id("com.baidu.searchbox:id/baidu_searchbox").click() # 输入字段 searchInputBox = driver.find_element_by_id('com.baidu.searchbox:id/SearchTextInput') searchInputBox.send_keys("Appium") driver.press_keycode(66) # 点击屏幕键盘的搜索键 time.sleep(1) #断言:由于手机百度搜索列表页,每个结果都不可以进行元素定位,所以无法通过搜索命中高亮显示来断言。 #这里采用搜索输入框显示的文字是我们输入的字段来简单断言一下 searchEditBoxText = driver.find_element_by_id('com.baidu.searchbox:id/SearchTextInput') if(searchEditBoxText.text == 'Appium'): print("Test pass.") else: print("Test Failed!!")解释脚本
在driver.press_keycode(66), 这个表示搜狗输入法键盘上的“搜索按钮”,这个可能输入法不同造成这个地方可能不是66,这里需要注意。由于手机百度,在搜索结果列表,不支持对搜索结果项进行元素定位,所以无法正常默认手工测试的断言,这里只好简单断言下,输入的“Appium”会不会在搜索框内显示。由于这个问题,下篇文章,我可能要换一个app来演示测试。
如果你想测试失败,你可以写成
searchEditBoxText.text == 'Appium123'这里还有两点需要知道。1. 没运行下一次测试之前,需要停止Appium server,然后再次启动服务,不然会报session不同的错误。这个可以在appium界面点击Advance-allow session overwrite。 2.运行上面脚本后,你的手机应该会默认设置隐藏键盘,是这样代码引起的resetKeyboard=True,事后解决办法是,在设置-高级设置-语言和输入法,然后把默认输入法改成搜狗就好了。
相关文章推荐
- Appium基础篇12-解决执行完脚本,手机键盘隐藏的问题
- 解决 SqlServer执行脚本,文件过大,内存溢出问题
- 解决PowerDesigner 12 建Oracle 10g数据库脚本双引号问题
- 解决PowerDesigner 12 建Oracle 9i数据库脚本双引号问题
- osql执行SQL脚本内容包含中文时出现乱码问题的解决办法
- ios7学习之路七(隐藏虚拟键盘,解决键盘挡住UITextField问题)
- oracle创建触发器的脚本在sqlplus中执行不了问题的解决
- 控制shell脚本执行频率、解决shell脚本不能修改环境变量等问题
- Linux下,将python安装在个人目录下,配置环境变量,以及解决crontab执行python脚本会出错的问题
- 自动化测试(python))——解决appium每次测试脚本都要安装unlock和settings两个apk问题的方法
- android的键盘隐藏,之前都没怎么在意这个问题,现在解决一下
- 通过二次加载脚本,解决Ajax加载的页面中JS脚本不执行问题
- 解决不能执行已释放的js脚本问题
- osql执行SQL脚本内容包含中文时出现乱码问题的解决办法
- 解决PowerDesigner 12 建Oracle 9i数据库脚本双引号问题
- 解决SQLPLUS执行脚本时显示用户名密码问题
- 解决执行脚本报syntax error: unexpected end of file或syntax error near unexpected token `fi'错误的问题
- 调用手机数字键盘,QQ浏览器兼容性(输入一个数字,键盘就会隐藏的问题)
- QC在win7远程执行QTP脚本excel不能读取,及其其他win7问题解决方案(图解转)
- 手机自动化测试:appium问题解决