美文网首页
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测试项目之五数据导入---上

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

  • QQ测试项目之四

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

  • QQ测试项目之六

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

  • Django fixtures

    Fixtures在Django测试中的使用 在对Django项目做单元测试时,经常需要生成或者导入一些初始数据。对...

  • Maven项目集成Mybatis增删改查操作(一)

    1、新建Maven项目,在pom.xml中导入依赖数据库要使用Mysql,需导入mysql包接口测试要使用到jun...

  • 多线程批量数据入库

    在一个项目中需要Excel批量导入数据,然后就写了一个测试程序。这次测试的数据是九千条数据最快7秒左右可以全部入库...

  • logstash-7.1.0 安装 & 测试数据导入 ES

    下载测试数据 编辑.conf文件 导入数据到ES

  • 常用知识

    Django flask和tornado的测试 把本地数据库表导入网上数据 传项目去网上 快捷创建表 一个产品的...

  • Mongo数据导入导出踩坑

    我用Navicat,mongo数据导出导入(excel)【进过反复测试,导入导入的所有格式都会有问题】,数据结构会...

  • fgsea做GSEA

    1.导入测试数据,fgesa的examplePathways,exampleRanks测试数据分别是通路的list...

网友评论

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

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