selenium自动化登录模块HTMLTestRunner测试报告
HTMLTestRunner 是一个用于运行Python单元测试的工具,它生成HTML格式的测试报告。Selenium 是一个用于Web应用程序测试的工具。如果你需要使用Selenium自动化登录后,用HTMLTestRunner生成测试报告,你可以先用Selenium完成登录操作,然后使用Python的unittest框架编写测试用例,并使用HTMLTestRunner来生成报告。
以下是一个简单的示例:
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import HTMLTestRunner
class LoginTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(10)
self.base_url = "http://yourwebsite.com"
def test_login(self):
driver = self.driver
driver.get(self.base_url + "/login")
driver.find_element_by_id("username").send_keys("your_username")
driver.find_element_by_id("password").send_keys("your_password")
driver.find_element_by_id("login_button").click()
time.sleep(1) # 等待页面加载完成,可以使用更健壮的等待方式
self.assertIn("Welcome", driver.title)
def tearDown(self):
self.driver.close()
def suite():
suite = unittest.TestSuite()
suite.addTest(LoginTest('test_login'))
return suite
if __name__ == '__main__':
runner = unittest.TextTestRunner()
runner.run(suite())
# 生成测试报告
with open('test_report.html', 'wb') as f:
runner = HTMLTestRunner.HTMLTestRunner(stream=f, title='Login Test Report', description='Test description')
runner.run(suite())
在这个例子中,我们首先定义了一个LoginTest
类,它继承自unittest.TestCase
。在setUp
方法中,我们初始化了WebDriver,并打开了浏览器。在test_login
方法中,我们执行了登录操作,并断言页面标题是否包含"Welcome"(这里假设登录成功后页面的title包含"Welcome")。在tearDown
方法中,我们关闭了浏览器窗口。
suite
函数创建了一个测试套件,并添加了LoginTest
的测试用例。
最后,如果你运行这个脚本,它将使用文本运行器运行测试,然后在当前目录生成一个名为test_report.html
的HTML格式测试报告。
评论已关闭