数据驱动测试实例

数据驱动的形式有很多种:

1.定义变量的方式

2.定义数组、字典的方式

3.读取文件(txt\csv\xml)的方式


1、通过定义变量方式进行参数化

public.py

class Login():
    def user_login(self,driver,username,password):
        driver.find_element_by_xpath("//input[@name='email']").clear()
        driver.find_element_by_xpath("//input[@name='email']").send_keys(username)
        driver.find_element_by_name("password").clear()
        driver.find_element_by_name("password").send_keys(password)
        driver.find_element_by_id("dologin").click()
    def user_logout(self,driver):
        driver.find_element_by_link_text("退出").click()
        driver.quit()

mailTest.py

from selenium import webdriver
from public import Login
class LoginTest():
    def __init__(self):
        self.driver=webdriver.Firefox()
        self.driver.implicitly_wait(10)
        self.driver.get("http://www.126.com")
    def test_admin_login(self):
        username='admin'
        password='123'
        Login().user_login(self.driver,username,password)
        self.driver.quit()
    def test_guest_login(self):
        username='guest'
        password='321'
        Login().user_login(self.driver,username,password)
        self.driver.quit()
LoginTest().test_admin_login()
LoginTest().test_guest_login()

2、通过定义数组的方式进行参数化

from selenium import webdriver
search_text=['python','中文','text']
for text in search_text:
    driver=webdriver.Firefox()
    driver.implicitly_wait(10)
    driver.get("http://www.baidu.com")
    driver.find_element_by_id('kw').send_keys(text)
    driver.find_element_by_id('su').click()
    driver.quit()
3、通过读取txt文件的方式进行参数化

python提供了以下读取txt文件的方法:

read():读取整个文件

readline():读取一行数据

readlines():读取所有行的数据

user_info.txt

zhangsan,123

lisi,456

wangwu,789

user_info.py

user_file=open('user_info.txt','r')
lines=user_file.readlines()
user_file.close()
for line in lines:
     username=line.split(',')[0]
     password=line.split(',')[1]
     print(username,password)

4、通过读取CSV文件的方式进行参数化

csv_read.py

import csv
date=csv.reader(open('info.csv','r'))
#循环输出每一行信息
for user in date:
     print(user)
#循环输出第二列数据
for user in date:
     print(user[1])
5、通过读取xml文件的方式进行参数化

info.xml

<?xml version="1.0" encoding="utf-8"?>

<info>

   <base>

       <platform>Windows</platform>

       <browser>Firefox</browser>

       <url>http://www.baidu.com</url>

           <login username="admin" password="123456"/>

           <login username="guest" password="654321"/>

   </base>

   <test>

        <province>北京</province>

        <province>广东</province>

              <city>深圳</city>

              <city>珠海</city>

        <province>浙江</province>

              <city>杭州</city>

     </test>

</info> 

from xml.dom import minidom
#打开xml文档
dom=minidom.parse('info.xml')
#得到文档元素对象
root=dom.documentElement
print(root.nodeName)
print(root.nodeValue)
print(root.nodeType)
print(root.ELEMENT_NODE)
#获得任意标签名
tagname=root.getElementsByTagName('browser')
print(tagname[0].tagName)
#获得标签的属性值
tagname=root.getElementsByTagName('login')
username=tagname[0].getAttribute("username")
print(username)
password=tagname[0].getAttribute("password")
print(password)
username=tagname[1].getAttribute("username")
print(username)
password=tagname[1].getAttribute("password")
print(password)
#获得标签对之间的数据
provinces=root.getElementsByTagName('province')
citys=root.getElementsByTagName('city')
p2=provinces[1].firstChild.data
c1=citys[0].firstChild.data
c2=citys[1].firstChild.data
print(p2)
print(c1)
print(c2)



阅读更多
文章标签: 自动化测试
个人分类: webUI自动化测试
想对作者说点什么? 我来说一句

测试

cshi

学院

2017年06月19日 09:12

高级数据驱动测试.pdf

2010年07月14日 1.33MB 下载

没有更多推荐了,返回首页

不良信息举报

数据驱动测试实例

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭