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

开篇语

测试工作离不开测试数据,谈到测试数据一定会想到黑盒测试方法
今天以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()

小节后语

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,713评论 0 17
  • 吃货地图产品需求文档 V1.0-2015/03/30 1概述 1.1产品概述及目标 概述:“吃货地图”是一款基于i...
    michaelshan阅读 11,114评论 1 46
  • Web网站测试流程和方法(转载) 1测试流程与方法 1.1测试流程 进行正式测试之前,应先确定如何开展测试,不可盲...
    夏了夏夏夏天阅读 5,078评论 0 0
  • 界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成...
    A梦想才让心跳存在阅读 4,678评论 0 4
  • 寻寻觅觅,觅觅寻寻,上天终不负我们的真诚和行动,终于在今天找到房子了,宽敞明亮,那一抹温馨的黄色,似乎在向我们招手...
    金雪一阅读 2,870评论 2 1