pycharm 自动化测试selenium+Python3遇到的问题及解决方法(一)

 测试环境搭建部署:

(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

 

 

 

 

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值