Appium基础篇12-解决执行完脚本,手机键盘隐藏的问题

        学到了这篇,我们开始来写一个自动化测试脚本,重点在测试,也就是说断言。这前面我们只不过是把点击和输入转换成自动化的方式,这篇开始,我们需要加入断言,这样才能算一个完整的自动化测试脚本。

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,事后解决办法是,在设置-高级设置-语言和输入法,然后把默认输入法改成搜狗就好了。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为AI语言模型,我没有亲自进行过测试,但我可以提供一些关于Appium测试APP的一般性建议和一些可能的实验发现。 在使用Appium测试APP时,需要注意以下几点: 1. 环境搭建:Appium测试需要先搭建好测试环境,包括安装Appium和配置相关环境,如Android SDK、Java环境等。在测试之前,需要确保测试设备和测试工具的稳定性。 2. 测试用例设计:测试用例的设计需要覆盖APP的各种功能和场景,以确保测试的全面性和有效性。同时,测试用例的设计也需要考虑到不同的测试环境和测试设备,以保证测试结果的可重复性。 3. 测试执行和结果分析:在进行测试时,需要按照测试用例进行测试,并对测试结果进行实时分析和记录,包括测试用例的执行结果、测试设备的状态和测试工具的反馈等。 在测试手机安全卫士时,可能会发现以下几个问题: 1. 安全性问题:测试发现手机安全卫士的防病毒、防骚扰等功能存在一些问题。例如,有些病毒可能会被漏检,或者骚扰电话无法全阻止。 2. 性能问题:测试发现手机安全卫士的性能存在一些问题,如启动速度较慢、占用内存较大等。这可能会影响用户的使用体验。 3. 用户体验问题:测试发现手机安全卫士的用户体验存在一些问题,如界面设计较为简单,操作流畅度不够等。这也可能会影响用户的使用体验。 需要注意的是,以上问题可能与测试环境和测试设备有关,因此在测试时需要尽可能保证测试环境的稳定性和测试设备的统一性,以确保测试结果的准确性。 总之,通过Appium测试可以发现APP存在的问题,提升APP的质量和用户体验。同时,在测试过程中需要注意测试用例的设计和环境的稳定性,以确保测试结果的可靠性和准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值