美文网首页
QQ测试项目之五数据导入---上

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

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

    开篇语

    测试工作离不开测试数据,谈到测试数据一定会想到黑盒测试方法
    今天以QQ的登录框为例子,浅谈一下python如何进行自动化测试的数据导入
    内容过多,阅读时稍微花点耐心


    定位QQ登录框

    首先看一下QQ的登录框长什么样子

    QQ登录框.jpg

    需要定位的元素包含,账号输入框、密码输入框、登录按钮
    按照之前的文章中提到的思路,对其进行逐一定位
    定位元素yaml文件

    login:
     - 请输入QQ号码或手机或邮箱  # 账号框
     - com.tencent.mobileqq:id/password  # 密码框
     - com.tencent.mobileqq:id/login  # 登录按钮
     - com.tencent.mobileqq:id/dialogRightBtn  # 失败确认按钮
     - com.tencent.mobileqq:id/dialogTitle  # 失败提示文字
    

    登录失败的图片

    账号密码任何一个输入错误都会导致登录失败,失败之后若要继续登录则必须点击确认按钮,下图为登录按钮的元素定位

    登录失败.png

    获取失败提示信息作为断言中的实际结果

    失败文字.png

    不理解断言的朋友可以阅读一下篇文章QQ测试项目之四


    验证登录的测试用例代码

    from appium import webdriver
    from time import sleep
    import yaml
    
    
    def read_yaml():
        with open(file='定位元素.yaml', encoding='utf-8') as fb:
            return yaml.load(fb)
    
    
    el = read_yaml()['login']
    
    
    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 login(self):
            # 如果账号已经登录过,则执行下面这行代码
            self.dr.find_element_by_accessibility_id(el[0]).clear()
            # 向QQ账号输入框输入QQ账号
            self.dr.find_element_by_accessibility_id(el[0]).send_keys('QQ账号')
            # 点击密码输入框
            self.dr.find_element_by_id(el[1]).click()
            # 向QQ密码输入框输入QQ密码
            self.dr.find_element_by_id(el[1]).send_keys('QQ密码')
            # 点击登录图标
            self.dr.find_element_by_id(el[2]).click()
            # 给出两秒休息时间,查看登录后的效果  
            sleep(2.0)
    
        def close(self):
            # 关闭手机与appium服务器建立的连接
            self.dr.quit()
    """
    若,账号密码有任意一个错误,则登录失败
    若,账号密码均正确,则登录成功
    """
          
    
    if __name__ == '__main__':
        t = TestKe()
        t.login()
        t.close()
    

    小节后语

    剩下的工作就是分析登录框需要输入的测试数据了,一般会用到等价类划分法边界值法
    下篇聊一下测试准备与加载

    相关文章

      网友评论

          本文标题:QQ测试项目之五数据导入---上

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