1 # -*- coding:utf-8 -*-
 2 """
 3 数据驱动测试,从 csv 文件中读取数据
 4 """
 5 from selenium import webdriver
 6 import csv, sys
 7
 8
 9 test_executed = 0
10 test_passed = 0
11 test_failed = 0
12 test_status = True
13
14
15 try:
16     driver = webdriver.Firefox()
17     driver.get('C:\BMICalculator.html')
18
19     datafile = open(r'c:\data.csv', 'rb')
20     reader = csv.reader(datafile)
21
22     test_executed = 0
23
24     for row in reader:
25         test_executed += 1
26         print 'Test' + str(test_executed)
27
28         heightField = driver.find_element_by_name('heightCMS')
29         heightField.clear()
30         heightField.send_keys(row[0])
31
32         weightField = driver.find_element_by_name('weightKg')
33         weightField.clear()
34         weightField.send_keys(row[1])
35
36         calculateButton = driver.find_element_by_id('Calculate')
37         calculateButton.click()
38
39         bmiLabel = driver.find_element_by_name('bmi')
40         bmiCategoryLabel = driver.find_element_by_name('bmi_category')
41
42         if bmiLabel.get_attribute('value') == row[2]:
43             print "PASS, expected value for BMI <" + row[2] + "> actual <" + bmiLabel.get_attribute('value') + ">"
44         else:
45             print "FAIL, expected value for BMI <" + row[2] + "> actual <" + bmiLabel.get_attribute('value') + ">"
46             test_status = False
47
48         if bmiCategoryLabel.get_attribute('value') == row[3]:
49             print "PASS, expected value for BMI Category <" + row[3] + "> actual <" + bmiCategoryLabel.get_attribute('value') + ">"
50         else:
51             print "Fail, expected value for BMI Category <" + row[3] + "> actual <" + bmiCategoryLabel.get_attribute('value') + ">"
52             test_status = False
53
54         if test_status == True:
55             test_passed = test_passed + 1
56         else:
57             test_failed = test_failed + 1
58
59 except :
60     print "Unexpected error: ", sys.exc_info()[0]
61     raise
62
63 finally:
64     print "---------------------------------------------------------------"
65     print "Total (" + str(test_executed) + ") Tests Executed"
66     print "Total (" + str(test_passed) + ") Tests Passed"
67     print "Total (" + str(test_failed ) + ") Tests Failed"
68     driver.close()
69     datafile.close()

转载于:https://www.cnblogs.com/Roger1227/p/3192116.html

python for selenium 数据驱动测试相关推荐

  1. Unittest自动化测试框架教程(四)——Python中的数据驱动测试DDT

     " 数据驱动测试DDT(Data Drivern test),是自动化测试领域优势中亮眼的闪光点,在unittest测试框架中对数据驱动更是提供了强大的支持,文章通过基础概念的引入,介绍了 ...

  2. python数据驱动读取用例_Python Selenium 之数据驱动测试

    数据驱动模式的测试好处相比普通模式的测试就显而易见了吧!使用数据驱动的模式,可以根据业务分解测试数据,只需定义变量,使用外部或者自定义的数据使其参数化,从而避免了使用之前测试脚本中固定的数据.可以将测 ...

  3. python数据驱动测试设计_GitHub - 13691579846/DataDriverTestFrameWork: python+selenium+pageobject数据驱动测试框架...

    DataDriverTestFrameWork 一.说明 ``本实例为数据驱动测试框架搭建实践`` 二.框架分析 注意!注意!注意!重要的示请说3遍,本项目只用于学习使用,为了你能够成功执行本项目 e ...

  4. python数据驱动测试_python数据驱动--Excel维护测试用例

    自动化测试经常使用csv文件进行数据驱动测试,读写方法总结如一下 第1步: 学会读取CSV文件 CSV文件.jpg 代码参考.jpg ''' Created on 2018年3月1日 @author: ...

  5. python使用ddt_使用DDT数据驱动测试框架Python

    DDT(数据驱动测试)允许您用不同的测试数据运行一个测试用例,从而使它看起来像多个测试用例. DDT由一个类装饰@ddt(对应您的testcase子类)和两个方法装饰(对于您希望成倍增加的测试)组成: ...

  6. python 基于ddt实现数据驱动测试

    这篇文章主要介绍了python 基于DDT实现数据驱动测试的方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下 简单介绍 ​ ddt(date driver test),所谓数据驱 ...

  7. 用Python+Selenium来测试登录自动登录163邮箱

    用Python+Selenium来测试登录自动登录163邮箱 1 准备条件 2 程序说明 3 代码 1 准备条件 ① windows系统(也许你是Linux,Mac,自行选择) ②安装了Anacond ...

  8. python数据驱动:基于ddt的数据驱动测试

    一.yaml文件的调用 二.csv文件的数据驱动 三.基于ddt的数据驱动测试 方法1: from selenium import webdriver import unittest from tim ...

  9. python中selenium中使用ajax_Selenium测试Ajax程序(转)

    上周末参加了Qclub的百度技术沙龙,听了百度的孙景卫讲了Web自动化测试,讲的非常好,然后在小组讨论时又有幸座在了一起.我们讨论的一个内容,就是Ajax应用程序比原来的非Ajax程序更不易测试,这里 ...

最新文章

  1. 变频电源要怎么测定额定容量
  2. 程序员面试题精选100题(53)-C++/C#面试题(2)
  3. 报错:SyntaxError: Non-UTF-8 code starting with '\xbc' in file
  4. 线上活动 | 2020年PM如何提高求职成功率?
  5. 先进pid控制matlab仿真程序,先进PID控制Matlab仿真第4版-仿真程序-上交
  6. 浅谈关于nil和 null区别及相关问题
  7. python色标_Python: 气象绘图实例之台风
  8. 酷炫加特技的个人主页
  9. 使用Apache Commons IO组件读取大文件
  10. 用一道面试题考察对闭包的理解
  11. RHEL 7中防火墙的配置和使用
  12. matlab 匹配滤波相位谱,信号检测与估计知识点总结(2)
  13. 去哪里找自媒体视频剪辑中的素材?
  14. 服务器系统怎么安全驱动精灵,服务器驱动精灵
  15. sqlite库学习(7)sqlite读取
  16. 响应“上上下下左左右右”按键键事件 “按两次返回键退出”
  17. Windows11自带壁纸位置
  18. 如何创新与加强个人领导力
  19. 亚信安全与新华三达成战略合作联手打造“更安全”的云数据中心
  20. 西门子SMART200 通过Modbus 读取温湿度传感器数据实例

热门文章

  1. Leetcode题库 11.盛水最多的容器(双指针法 C实现)
  2. 运算符重载(加减运算符、前置加加(减减)后置加加(减减)运算符、赋值运算符、输入输出运算符、关系运算符、函数调用)
  3. java properties 路径问题_Java 读取Properties文件时应注意的路径问题
  4. 永磁同步电机三相等效电路图_基于MTPA的永磁同步电动机矢量控制系统分解
  5. springmvc登路示例(注解)
  6. 比MySQL快6倍 深度解析国内首个云原生数据库POLARDB的“王者荣耀”
  7. PHP程序员的技术成长规划(转载)
  8. Linux 命令 - jobs: 显示后台作业的状态信息
  9. [网摘]关于产品运营
  10. 象棋中常用的最小值最大值算法及剪枝算法