海鸥一飞 发表于 2018-5-30 16:43:05

python selenium 数据驱动测试 _笔记

python selenium 数据驱动测试

1、概念

数据驱动:测试数据的改变引起执行结果的改变叫数据驱动;

关键字驱动:测试对象名字的改变起引起测试结果的改变叫关键字驱动。

举例:

d:\data.txt文件:
    Selenium
    python
    linux

我们可以通过脚本循环执行,读取一文件中不同的内容来完成自动化工作,也就是说我们每次取的文件
里的搜索关键字不同,而每次百度搜索的的结果不同,这也是数据驱动的本质。 代码如下:
<p>
</p><p>#coding:utf-8</p><p>from selenium import webdriver</p><p>import os, time</p><p>
</p><p>source = open("d:\\Python27\\data.txt", "r")# 只读方法打开文件</p><p>values = source.readlines()#逐行读取文件内容</p><p>source.close()</p><p>
</p><p>for search in values:</p><p>    browser = webdriver.Firefox()</p><p>    browser.get("http://www.baidu.com")</p><p>    browser.find_element_by_id("kw").send_keys(search)</p><p>    browser.find_element_by_id("su").click()</p><p>    browser.quit</p><p>用户名密码参数化</p><p>
</p><p>使用字典实现用户名密码参数化</p><p>
</p><p>#coding:utf-8</p><p>import os, time</p><p>from selenium import webdriver</p><p>def UsrPwd():</p><p>    d = {'abc':'123456', 'def':'789456'}   #使用字典</p><p>    print "read username and password!"</p><p>    return d</p><p>for usr,pwd in UsrPwd().items():# 循环读取字典里的用户名及密码</p><p>    driver = webdriver.Firefox()</p><p>    driver.get("http://-------")</p><p>    driver.find_element_by_id("user_name").clear()</p><p>    driver.find_element_by_id("user_name").send_keys(usr)</p><p>    time.sleep(3)</p><p>    </p><p>    driver.find_element_by_id("user_pwd").clear()</p><p>    driver.find_element_by_id("user_pwd").send_keys(v)</p><p>    time.sleep(3)</p><p>
</p><p>    driver.find_element_by_id("dl_an_submit").click()</p><p>    time.sleep(1)</p><p>    driver.close()</p><p>用户名密码的参数化</p><p>
</p><p>def user(k='fnngj',v=123456):#定义带用户名密码参数的函数user</p><p>    print "suess read username and password!!"</p><p>    return k,v</p><p>k,v = user()   #调用user函数获得用户名和密码</p><p>print k,v</p><p></p>

页: [1]
查看完整版本: python selenium 数据驱动测试 _笔记