美文网首页
QQ测试项目之六

QQ测试项目之六

作者: 流鼻涕的绿恐龙 | 来源:发表于2019-08-08 16:26 被阅读0次

开篇语

昨天参与了一个简书日更活动,结果昨天就没更新!都是七夕的锅,工作中的测试也要学会甩锅哦!今天写点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测试项目之六

    开篇语 昨天参与了一个简书日更活动,结果昨天就没更新!都是七夕的锅,工作中的测试也要学会甩锅哦!今天写点app项目...

  • QQ测试项目之四

    开篇语 拥有一个每天逼着自己学习的女朋友是多么快乐的一件事情!今天的你的简书更新了吗?你的公众号更新了吗?没有,没...

  • 测试管理之测试度量

    原文:测试管理之测试度量 (qq.com)[https://mp.weixin.qq.com/s?__biz=Mj...

  • QQ测试项目之五数据导入---上

    开篇语 测试工作离不开测试数据,谈到测试数据一定会想到黑盒测试方法今天以QQ的登录框为例子,浅谈一下python如...

  • QQ测试项目之一

    开篇闲扯 生活就像一把吉他,弹不响也要弹,bug就像测试的头发,又浓又密! 生活中的疯子宣布:“QQ测试项目正式开...

  • PHP 使用phpstorm拉取服务器代码修改并上传

    测试用来拉取的项目为ThinkPHP项目部署请参阅链接https://blog.csdn.net/qq_39342...

  • Linux之发布系统Shell 脚本

    Shell 脚本之自动发布Tomcat项目 鉴于每次测试让发布测试环境的项目,都是手动一系列的操作:连接SSH、C...

  • qq红包测试

    需求:QQ红包测试 1、查看原型图,设计稿 2、了解开发实现,参与CodeView和前后端交互(走哪些接口数据) ...

  • 六天入门软件测试⑥——测试报告笔记

    六天入门软件测试⑥——测试报告笔记 Selenium 的基本原理创建一个项目 learn_seleniumimag...

  • windows上的域名代理与nginx

    遇到的问题是开发时需要做测试,但qq登录回调的链接是项目的线上地址,为了跳转到测试的地址,使用nginx做反向代理...

网友评论

      本文标题:QQ测试项目之六

      本文链接:https://www.haomeiwen.com/subject/rikxjctx.html