51Testing软件测试论坛

标题: python selenium 数据驱动测试 _笔记 [打印本页]

作者: 海鸥一飞    时间: 2018-5-30 16:43
标题: python selenium 数据驱动测试 _笔记
python selenium 数据驱动测试

1、概念

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

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

举例:

d:\data.txt文件:
    Selenium
    python
    linux
[attach]115960[/attach]
我们可以通过脚本循环执行,读取一文件中不同的内容来完成自动化工作,也就是说我们每次取的文件
里的搜索关键字不同,而每次百度搜索的的结果不同,这也是数据驱动的本质。 代码如下:
  1. <p>
  2. </p><p>#coding:utf-8</p><p>from selenium import webdriver</p><p>import os, time</p><p>
  3. </p><p>source = open("d:\\Python27\\data.txt", "r")  # 只读方法打开文件</p><p>values = source.readlines()  #逐行读取文件内容</p><p>source.close()</p><p>
  4. </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>
  5. </p><p>使用字典实现用户名密码参数化</p><p>
  6. </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>
  7. </p><p>    driver.find_element_by_id("dl_an_submit").click()</p><p>    time.sleep(1)</p><p>    driver.close()</p><p>用户名密码的参数化</p><p>
  8. </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