1.unittest框架引入
import unittest
2.创建测试类,需要继承unittest.TestCase
class Demo_TestCase(unittest.TestCase):
3.编写测试方法,函数名需要以test
做前缀
def test_click_submit_button_inGet(self):
4.断言
virtual = "百度一下,你就知道"
real = self.browser.title
self.assertEqual(first=virtual, second=real, msg="实际目的地不对,应该去百度")
assertEqual(结果1,结果2,结果1和结果2不相等时提示语)
5.从 main() 函数开始执行
if __name__ == '__main__':
unittest.main()
完整代码
from selenium import webdriver
from selenium.webdriver.common.by import By
# 引入 unitttest 测试框架
import unittest
# 为一个页面定义一个测试类:必须继承 unittest.TestCase
class Demo_TestCase(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
# 所有测试执行前触发
cls.browser = webdriver.Chrome()
@classmethod
def tearDownClass(cls) -> None:
# 所有测试执行后触发
cls.browser.quit()
def setUp(self) -> None:
# 单个测试执行前触发
pass
def tearDown(self) -> None:
# 单个测试执行后触发
pass
# 为每个测试用例,添加一个 test_xxx 方法
def test_click_submit_button_inGet(self):
self.browser.get("http://localhost/selenium/myForm.html")
# 1、实现selenium的测试步骤
submit_button = self.browser.find_element(by=By.XPATH, value='//*[@id="id_sub1"]')
submit_button.click()
# 2、进行 系统处理的实际结果,与用例中的预期结果 比对 如果两者不同,则提示出错
virtual = "百度一下,你就知道"
real = self.browser.title
self.assertEqual(first=virtual, second=real, msg="实际目的地不对,应该去百度")
def test_click_submit_button_inPost(self):
self.browser.get("http://localhost/selenium/myForm.html")
submit_button = self.browser.find_element(by=By.XPATH, value='//*[@id="id_sub2"]')
submit_button.click()
virtual = "Html 02"
real = self.browser.title
self.assertEqual(first=virtual, second=real, msg="实际目的地不对,应该去 Html 02 ")
def test_link(self):
self.browser.get("http://localhost/selenium/myForm.html")
submit_button = self.browser.find_element(by=By.XPATH, value='/html/body/div/a[1]')
submit_button.click()
virtual = "百度一下,你就知道"
real = self.browser.title
self.assertEqual(first=virtual, second=real, msg="实际目的地不对,应该去百度")
if __name__ == '__main__':
unittest.main()