测试环境搭建部署:
(1)安装python,并且把python安装目录添加到系统环境变量的path;
(2)安装selenium,如果是pycharm,在python安装目录D:\Python36\Scripts下执行pip install selenium;
(3)chrome.exe和chromedriver.exe两者的版本要适配,chromedriver.exe放在chrome.exe路径下,并且将chromedriver.exe的安装目录添加到系统环境变量的path。
pycharm是python的IDE之一(集成开发环境),也就是编辑器
anaconda是一个开源的python发行版本,其包含python和python的第三方库
selenium是一个用于web应用程序的自动化测试工具
本机自动化测试框架:
python3.7.3 + selenium3.14 + chrome69+ chromedriver2.37 +win10
问题:
1、ran 0 test in 0.000s
ok
原因:
unittest提供了一个全局的main()使得单元测试的模块变成了一个个可运行的脚本 main()方法以TestLoad类来搜索包含在模块中以test开头的命名方法,并自动执行它们
2、unittest ,调用另一个文件的方法需要分两步
先调用类,再调用方法,不能一起调用,正确做法:
zhsq_login = Login()
zhsq_login.login(driver)
错误做法: Login().login(driver)
3、TypeError: gerStatuscode() takes 1 positional argument but 2 were given
函数定义参数要有self,这样:def gerStatuscode(self,url):
4、no moduel named ‘selenium’
解决方法:
(1)查看你的python是否正确安装了selenium包,没有的话,在你的python安装目录D:\Python36\Scripts下执行pip install selenium
(2)安装完成后最好直接打开python,在下面输入from selenium import webdriver,回车后是否报错,没报错则说明成功安装selenium包
5、pycharm运行py脚本,报:FileNotFoundError: [WinError 2] 系统找不到指定的文件
6、找不到浏览器路径或者
浏览器打开但是没有运行网页,处于下面页面
解决方法:
(1)
self.driver = webdriver.Chrome(executable_path="C:/Users/xiehuagui/AppData/Local/Google/Chrome/Application/chromedriver.exe",options=options)
(2)在chrome.exe同路径下添加chromedriver.exe,该应用程序版本要与Chrome浏览器相对应
7、pycharm 解决ModuleNotFoundError No module named HTMLTestRunner
(1)python3修改HTMLTestRunner:
第94行,将import StringIO修改成import io;
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO();
第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
第766行,将uo = o.decode(‘latin-1‘)修改成uo = e;
第775行,将ue = e.decode(‘latin-1‘)修改成ue = e;
第631行,将print >> sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime))
(2)将文件放在python.exe安装目录的lib下
8、 python中出现IndentationError:unindent does not match any outer indentation level错误
或者:inconsistent use of tabs and spaces in indentation
缩进语法错误
解决:一定不要用编辑器打开py脚本,会有格式错误
9、Python3+Selenium 做 UI 自动化输出报告报错<_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
解决方法:将HTMLTestRunner.py(与python.exe相同1路径下)的631行
print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)
或者
print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))
修改成
sys.stderr.write('\nTime Elapsed: %s\n' % (self.stopTime - self.startTime))
10、ImportError: Start directory is not importable: './cmb_case'
导入错误,开始目录不可导入
解决方法1:使用绝对路径,补全路径: E:/zhsqtest/cmb/cmb_case
方法2:python获取该文件所在的路径的方法
>>> import os
>>> homedir = os.getcwd()
>>> print homedir