QQ测试项目之六

开篇语

昨天参与了一个日更活动,结果昨天就没更新!都是七夕的锅,工作中的测试也要学会甩锅哦!今天写点app项目中弹出框的处理。以QQ退出登录时的弹出框为示例,演示一下。其他的弹窗框,例如:更新弹出框、活动弹出框,广告弹出框等。

处理弹出框的思路

第一步:判读该弹出框是否在farme内
注意:appium 处理弹出框官方也没有给出方法,不像selenium一样给出了官方处理弹出框的方法
第二步:定位到弹出框之后,定位弹出框内的按键
第三步:根据定位思想进行xml页面中定位元素的选择。
第四步:编写测试代码

结合QQ退出框演示一下

退出登录弹出框

退出弹出框截图.png

实现退出QQ登录的步骤

  1. 点击账号设置
  2. 点击设置
  3. 点击账号切换
  4. 点击退出账号
  5. 点击确认退出

执行QQ退出的登录的python代码

from appium import webdriver
from time import sleep


class TestKe(object):
    def __init__(self):
        self.d = {
            "device": "android",
            "platformName": "Android",
            "platformVersion": "9",
            "deviceName": "46HDU19314003325",
            "appPackage": "com.tencent.mobileqq",
            "appActivity": ".activity.SplashActivity",
            "noReset": "true"
        }
        self.dr = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=self.d)
        sleep(2.5)
    def logout(self):
        # 点击账户设置
        self.dr.find_element_by_accessibility_id('帐户及设置').click()
        # 点击设置
        self.dr.find_element_by_accessibility_id('设置').click()
        # 点击账户切换
        self.dr.find_element_by_id('com.tencent.mobileqq:id/account_switch').click()
        # 点击退出账号
        self.dr.find_element_by_id('com.tencent.mobileqq:id/logoutBtn').click()
        # 点击确认退出
        self.dr.find_element_by_id('com.tencent.mobileqq:id/dialogRightBtn').click()


if __name__ == '__main__':
    t = TestKe()
    t.logout()
    t.close()

获取退出框内的文字

例如获取下图中的文字

登录框的内容.png

使用appium中的text属性

    def get_text(self):
        # 点击账户设置
        self.dr.find_element_by_accessibility_id('帐户及设置').click()
        # 点击设置
        self.dr.find_element_by_accessibility_id('设置').click()
        # 点击账户切换
        self.dr.find_element_by_id('com.tencent.mobileqq:id/account_switch').click()
        # 点击退出账号
        self.dr.find_element_by_id('com.tencent.mobileqq:id/logoutBtn').click()
        a = self.dr.find_element_by_id('com.tencent.mobileqq:id/dialogText').text
        print(a)
        # 点击确认退出
        self.dr.find_element_by_id('com.tencent.mobileqq:id/dialogRightBtn').click()

执行输出的结果

pycharm控制台输出.png

小节后语

由于钻石小于5000,精心准备的代码操作QQ应用的视频无法上传,感兴趣的可以关注我的个人公众号。


原创公众号.jpeg

你可能感兴趣的:(QQ测试项目之六)