原因:
pycharm中HTTPTestRuuner不能生成测试报告
今天咱写了几个测试用例,点击运行后也没有报错,反复运行,就是出不了测试报告,当时咱头上就长草了,这是咋回事,上网百度了一下,原来是python2和python3兼容的问题,咱的是python3,而HTTPTestRuuner生成测试文件,是python2的写法,需要修改一下配置文件,咱已经把解决的方法写道下面了,碰到同样问题的小伙伴可以参考一下
解决方法:
执行脚本代码参考如下:
代码没有进行封装,大家就不要纠结这个小问题了,能解决问题就行,有问题可以留言
import unittest
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from TestRunner import HTMLTestRunner
class Test01(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
# 打印测试页_remote(带水印)文件下载地址
self.baseurl1 = "file:///C:/Users/86176/Desktop/%E6%B5%8B%E8%AF%95%E9%A1%B5/%E6%89%93%E5%8D%B0%E6%B5%8B%E8%AF%95%E9%A1%B5_remote.html"
# 打印测试页文件下载地址
self.baseurl2 ="file:///C:/Users/86176/Desktop/%E6%B5%8B%E8%AF%95%E9%A1%B5/%E6%89%93%E5%8D%B0%E6%B5%8B%E8%AF%95%E9%A1%B5.html"
# 阅读测试页文件下载地址
self.baseurl3 ="file:///C:/Users/86176/Desktop/%E6%B5%8B%E8%AF%95%E9%A1%B5/%E9%98%85%E8%AF%BB%E6%B5%8B%E8%AF%95%E9%A1%B5.html"
# self.baseurl4 =""
# 打印测试页_remote测试用例
def test_01(self):
driver = self.driver
driver.get(self.baseurl1)
sleep(5)
# 清空下载文件地址
driver.find_element(By.ID, "filedown").clear()
# 输入下载文件地址
driver.find_element(By.ID, "filedown").send_keys("http://10.11.12.249:8080/cp/files/1.ofd")
# 清空水印内容
driver.find_element(By.ID, "showWaterMark").clear()
# 输入水印内容
driver.find_element(By.ID, "showWaterMark").send_keys("我是水印内容")
# 清空打印分数
driver.find_element(By.ID, "printNum").clear()
# 输入打印分数
driver.find_element(By.ID, "printNum").send_keys("1")
# 打印是否包含水印
driver.find_element(By.ID, "printOld").click()
driver.find_element(By.XPATH, "//body/select/option[1]").click()
sleep(1)
# 点击执行以上参数
driver.find_element(By.CLASS_NAME, "function_btn").click()
sleep(2)
# 显示文件元素显示等待最长时间10秒
WebDriverWait(driver, 10).until(lambda x: len(driver.find_elements_by_id("pageContainer1")) == 1)
try:
var = driver.find_element(By.ID, "pageContainer1")
print("测试成功:文件已显示")
except:
print("11111111")
driver.quit()
# 打印测试页测试用例
def test_02(self):
driver = self.driver
driver.get(self.baseurl2)
# 清空下载文件地址
driver.find_element(By.ID, "filedown").clear()
# 输入下载文件地址
driver.find_element(By.ID, "filedown").send_keys("http://10.11.12.249:8080/cp/files/1.ofd")
# 清空水印内容
driver.find_element(By.ID, "showWaterMark").clear()
# 输入水印内容
driver.find_element(By.ID, "showWaterMark").send_keys("我是水印内容")
# 清空打印分数
driver.find_element(By.ID, "printNum").clear()
# 输入打印分数
driver.find_element(By.ID, "printNum").send_keys("1")
# 点击是否双面打印下拉框
driver.find_element(By.ID, "sidedprint").click()
# 选择下拉框第一个值
driver.find_element(By.XPATH, "//body/select/option[1]").click()
sleep(1)
# 点击执行以上参数
driver.find_element(By.CLASS_NAME, "function_btn").click()
sleep(2)
# 显示文件元素显示等待最长时间10秒
WebDriverWait(driver, 10).until(lambda x: len(driver.find_elements_by_id("pageContainer1")) == 1)
try:
var = driver.find_element(By.ID, "pageContainer1")
print("测试成功:文件已显示")
except:
print("11111111")
driver.quit()
# 阅读测试页测试用例
def test_03(self):
driver = self.driver
driver.get(self.baseurl3)
sleep(5)
# 清空下载文件地址
driver.find_element(By.ID, "filedown").clear()
# 输入下载文件地址
driver.find_element(By.ID, "filedown").send_keys("http://10.11.12.249:8080/cp/files/1.ofd")
# 展示到第几页
driver.find_element(By.ID, "maxpage").send_keys(2)
# 是否打印
driver.find_element(By.ID, "isPrint").click()
driver.find_element(By.XPATH, "//*[@id='isPrint']/option[1]").click()
# 是否下载
driver.find_element(By.ID, "isDownload").click()
driver.find_element(By.XPATH, "//*[@id='isDownload']/option[1]").click()
sleep(1)
# 点击执行以上参数
driver.find_element(By.CLASS_NAME, "function_btn").click()
sleep(2)
# 显示文件元素显示等待最长时间10秒
WebDriverWait(driver, 10).until(lambda x: len(driver.find_elements_by_id("pageContainer1")) == 1)
try:
var = driver.find_element(By.ID, "pageContainer1")
print("测试成功:文件已显示")
except:
print("测试失败:文件未显示")
driver.quit()
if __name__ == "__main__":
test1 = unittest.defaultTestLoader.loadTestsFromTestCase(Test01)
suite = unittest.TestSuite(test1)
filepath = 'D:\GZ\python\webz\report'
runner = HTMLTestRunner(
title="带截图的测试报告",
description="测试页测试报告",
stream=open('../report/test_report.html', 'wb'),
verbosity=2,
# save_last_try=True,
# retry=3
)
runner.run(suite)
一、每次点击执行成功,但是始终找不到test_report.html文件,然后按照网上教程配置“运行/调试配置”,再次点击执行,还是看不到test_report.html文件,
二、然后反复尝试发现是工作目录未点击过,后面再选择脚本路径后,又打开工作目录,点击确定后,再点击确定,然后执行,可以看到test_report.html文件。
三、点击执行后,可以在同一目录中看到test_report.html文件
喜欢的小伙伴点个赞吧