51Testing软件测试论坛
标题:
python selenium 数据驱动测试 _笔记
[打印本页]
作者:
海鸥一飞
时间:
2018-5-30 16:43
标题:
python selenium 数据驱动测试 _笔记
python selenium 数据驱动测试
1、概念
数据驱动:测试数据的改变引起执行结果的改变叫数据驱动;
关键字驱动:测试对象名字的改变起引起测试结果的改变叫关键字驱动。
举例:
d:\data.txt文件:
Selenium
python
linux
[attach]115960[/attach]
我们可以通过脚本循环执行,读取一文件中不同的内容来完成自动化工作,也就是说我们每次取的文件
里的搜索关键字不同,而每次百度搜索的的结果不同,这也是数据驱动的本质。 代码如下:
<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>
复制代码
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2