selenium自动化登录模块HTMLTestRunner测试报告

1.下载HTMLTestRunner.py放到python的Lib目录下,python3之后的,文件要修改以下内容:

第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

第772行,将ue = e.decode('latin-1')修改成ue = e(网络上很多这句是没写的,遗漏了。这句不改会有提示错误且测试报告无法生成)

第774行,将ue = e.decode('latin-1')修改成ue = e(网络上写的是775行是错误的,应该为774行)

第631行,将print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))

2.登录模块代码CSDNlogin.py

复制代码
import time
import unittest

from selenium.webdriver.common.by import By

import CSDNconf
class CSDNlogin(unittest.TestCase):
    def testLogin(self):

        CSDNconf.driver.get("https://passport.csdn.net/")
        CSDNconf.driver.maximize_window()
        #点击密码登录
        CSDNconf.driver.find_element(By.XPATH,"/html/body/div[2]/div/div[2]/div[2]/div[2]/div/div[1]/span[4]").click()
        #输入用户名
        CSDNconf.driver.find_element(By.XPATH,"/html/body/div[2]/div/div[2]/div[2]/div[2]/div/div[2]/div/div[1]/div/input").send_keys("627168856@qq.com")
        #输入密码
        CSDNconf.driver.find_element(By.XPATH,"/html/body/div[2]/div/div[2]/div[2]/div[2]/div/div[2]/div/div[2]/div/input").send_keys("zhangaihua@315717")
        # 勾选我已阅读并同意 服务条款 和 隐私协议
        CSDNconf.driver.find_element(By.XPATH,"/html/body/div[2]/div/div[2]/div[2]/div[2]/div/div[2]/p/div/i").click()
        #点击登录按钮
        CSDNconf.driver.find_element(By.XPATH,"/html/body/div[2]/div/div[2]/div[2]/div[2]/div/div[2]/div/div[4]/button").click()
        time.sleep(5)
        CSDNconf.driver.quit()

3.main.py

复制代码
# This is a sample Python script.
import unittest
import HTMLTestRunner
import HTMLReport
from CSDNlogin import CSDNlogin


# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.


def print_hi(name):
    # Use a breakpoint in the code line below to debug your script.
    print(f'Hi, {name}')  # Press Ctrl+F8 to toggle the breakpoint.


# Press the green button in the gutter to run the script.
if __name__ == '__main__':
   testunit = unittest.TestSuite()
   # 添加测试用例到测试套件中
   testunit.addTest(CSDNlogin("testLogin"))#CSDNlogin是类名testLogin是函数名
   print(testunit)
   # 定义个报告存放路径
   filename = 'D:\\Pythonproject\\CSDNUItest\\report\\result.html'
   fp = open(filename, 'wb')
   # 定义测试报告
   runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'测试报告', description=u'用例执行情况:')
   # 运行测试用例
   runner.run(testunit)
   # 关闭报告文件
   fp.close()


# See PyCharm help at https://www.jetbrains.com/help/pycharm/

4.输出报告:

相关推荐
技术小甜甜10 小时前
[AI Agent] 如何在本地部署 Aider 并接入局域网 Ollama 模型,实现本地智能助手操作系统资源
人工智能·ai·自动化·agent
天空属于哈夫克311 小时前
利用剪贴板“管道”实现超大文本的极速填充
自动化·企业微信·api·rpa
Blossom.11812 小时前
GPTQ量化实战:从零手写大模型权重量化与反量化引擎
人工智能·python·算法·chatgpt·ai作画·自动化·transformer
Elaine33618 小时前
深度实战:基于 Scrapy CrawlSpider 的全自动化教程采集系统
python·scrapy·自动化·网络爬虫
Gofarlic_OMS19 小时前
通过MathWorks API实现许可证管理自动化
大数据·数据库·人工智能·adobe·金融·自动化·区块链
debug 小菜鸟19 小时前
Linux 服务器环境搭建实战:从裸机到可用生产环境(含自动化脚本)
linux·服务器·自动化
胡伯来了20 小时前
08 - 数据收集 - 网页采集工具Selenium
爬虫·python·selenium·rag·网络采集
测试人社区-千羽2 天前
智能化测试:AI驱动的测试覆盖率提升方法论与实战路径
运维·人工智能·测试工具·程序人生·自动化·测试覆盖率
合利士智能装备2 天前
多种拓扑结构的轴向磁通电机,到底该怎么选?
机器人·自动化·汽车·能源·制造
nxlifebao3572 天前
自媒体整体效率提升怎么做?AI智能媒体助理自动化是关键
运维·自动化·媒体·ai内容创作·自动化工作流·自媒体效率提升·多平台分发