
python+selenium自动化测试
东隅之桑
测试狗
展开
-
学习Python为什么要用到虚拟环境-虚拟环境如何配置与使用
虚拟环境 virtual environment一、为什么使用虚拟环境?简单来讲,我们平时在使用Python编写程序时经常需要调用第三方工具,这些第三方工具的版本时有更新,编写不同的项目脚本时,经常会遇到不同项目使用同一个工具但不同版本的情况,再有就是不同项目使用的Python解释器版本都不一致。在我们之前的项目中就遇到了项目A需要用到Python2.x版本,项目B要用到Python3.x版本,在实际的开发过程中,需要不断切换项目解释器,那就很麻烦了。虚拟环境提供了一个独立的空间,独立的环境,.原创 2020-08-18 10:25:25 · 7633 阅读 · 0 评论 -
数据驱动测试框架DDT的使用
数据驱动测试框架DDT的使用DDT测试框架的介绍DDT全程为Data Driver Test数据驱动测试,是由测试数据驱动测试用例的执行,加入ddt框架,可以实现用例的重复执行以及代码的重复使用,减少工作量。数据代码分离为主流设计思路,在常见的测试体系中可以使用xml文件、excel文件、json文件来管理测试数据,通过代码自动读取,来驱动用例的执行,ddt测试框架基于这种设计思路上,实现了...原创 2019-11-05 18:10:25 · 3654 阅读 · 0 评论 -
python中脚本所在的文件路径对执行脚本的影响
python的执行方式有很多种,最方便的是在编辑器中执行,像比较常用的pycharm在编辑器中编写脚本后可以直接调用python.exe执行脚本,方便且不容易出问题但是在cmd中使用python 脚本名 来执行脚本时会经常出现报错的情况,尤其是脚本中出现了互相引用的情况,会报模块找不到的错误,为解决这种错误,可以使用python中的 os ,sys包 在执行脚本前,将脚本所在路径添加到pa...原创 2018-03-25 14:41:52 · 1579 阅读 · 0 评论 -
python中定义类时__init__()方法的作用
最开始学习python,认为定义类时__init__方法的作用等同于C中的构造函数,但是使用之后发现也有区别例如:执行时的步骤可以理解为;b = object.__new__(a)a.__init__(a,"wang")即__init__的作用是初始化实例后的对象b在子类不重写__init__方法时,子类会默认调用父类中的__init__方法子类也可以重写__ini...原创 2018-04-07 15:23:22 · 16618 阅读 · 3 评论 -
python中模块,包概念以及import模式详解
模块:从逻辑上组织python代码(变量,函数,类等),本质就是.py结尾的python脚本文件,例如test.py 模块名为 test包:逻辑上用来组织模块,本质上是一个目录,必须包含__init__.py文件,__init__.py 文件可以为空,作为被外部文件使用的接口import 导入的几种方式:import 模块名import的本质是将模块中的代码执行一遍,并赋值给模块名...原创 2018-03-24 16:51:13 · 479 阅读 · 0 评论 -
使用pycharm编辑自动化脚本,执行后没有html报告生成的几种解决办法
有兴趣一起讨论的同学可以加群:489650589 一起来聊天讨论最近在搞自动化测试,选择了web端最流行的python+selenium,测试执行选用unittest框架,报告使用HTMLReportRunner在代码执行的过程中,发现代码执行正常,但是没有报告产生,截图如下代码执行正常:执行后可以看到用例执行结果,但是无html报告文件生成,截图如下:在网上查阅资料后发现,pycharm自带了u...原创 2017-07-10 16:50:20 · 7682 阅读 · 1 评论 -
浅谈python+selenium自动化测试的二次封装思想
在进行web自动化测试的过程中,我们经常会重复执行很多脚本,语句以及方法,这时,我们可以讲常用的动作封装到一个类中,以便多次调用比如可以将一些数据调用,以及其他常用方法封装到类中,放到指定的包下在python自动化设计中,用例执行的数据可以使用excel来保管,所以可以将调用excel数据的方法进行封装,便于用例脚本调用其次,可以将用例中反复使用的动作封装到方法中封装的好处是...原创 2017-07-21 09:27:50 · 2242 阅读 · 1 评论 -
关于web自动化测试中webdrvier驱动对应的浏览器版本问题
关于webdrvier驱动对应的浏览器版本问题1.使用chrome浏览器进行自动化测试时,已经布置好测试环境,运行脚本,会报如下错误经检查,发现是webdrvier的版本与chrome的版本不兼容的问题,查看当前chrome的版本为59之后的版本,所以要替换支持chrome59版本的webdrvier,然后将webdrvier的路径添加到环境变量path中2.使原创 2017-07-10 09:05:27 · 813 阅读 · 0 评论 -
浅析Python中“if __name__ == __main__”的意义
首先可以用一句话概括:if __name__ == __main__语句的意义是为了使当前脚本可以正常执行,在被其他脚本调用时也可以执行举个栗子: print.py 文件中的代码如下: print “the first” if __name__ == __main__:原创 2017-07-10 16:07:53 · 446 阅读 · 0 评论 -
浅析python中两种import的使用区别
相信大家再学习python中也有遇到过类似的问题,每次导入了其他.py文件,也进行了类的实例化,但是执行的时候还是会报错“module object is not callable”在排查了所有代码后也没发现问题,看报错的字面意思为,模块对象不可调用,导入.py文件的方式为 import ***.py查询资料后发现,python有两种导入的方式1.import ***此种方原创 2017-07-11 15:11:41 · 421 阅读 · 0 评论 -
python+selenium元素定位之 css selector 和 classname的区别
在自动化测试的过程中,常常会用到元素定位,但是对于css selector 和 classname使用常常存在疑问ClassName:在定位元素的class属性为单一值时,可以选择by classname来定位css selector 可以理解为css 选择器,我们可以利用元素的任意css元素来进行定位,比如在元素的class属性为多个值时,可以使用 tagname+class的方式来定位...原创 2017-07-20 14:50:35 · 3414 阅读 · 0 评论