51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2138|回复: 0
打印 上一主题 下一主题

[讨论] python selenium 数据驱动测试 _笔记

[复制链接]
  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 58 天

    连续签到: 1 天

    [LV.5]测试团长

    跳转到指定楼层
    1#
    发表于 2018-5-30 16:43:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    python selenium 数据驱动测试

    1、概念

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

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

    举例:

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

    我们可以通过脚本循环执行,读取一文件中不同的内容来完成自动化工作,也就是说我们每次取的文件
    里的搜索关键字不同,而每次百度搜索的的结果不同,这也是数据驱动的本质。 代码如下:
    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

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-20 16:36 , Processed in 0.065272 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表