这是我的结构
编写测试用例
import unittest#导入单元框架
from selenium import webdriver
import time
class Login_Test(unittest.TestCase):
def setUp(self):
self.www = webdriver.Chrome()
def tearDown(self):
第一个用例:
#登录成功
def test_Login_1(self):
username = "liu01"
password = "123456"
self.www.get("http://192.168.2.253/dsc/")
#断言
text=self.www.find_element_by_xpath("//div[@id='ECSMEMERZONE']/span[1]").text
self.assertIn("你好",text)
#判断你好是否出现在元素中
创建下个用列2:
#登录失败
def test_login_2(self):
username = "123456789"
self.www.get("http://192.168.2.253/dsc/")
time.sleep(1)
self.assertIn("错误",text)
#判断msg-error是否是错误的中文元素
2.写一个套件装入
import unittest
from dashangchuang.unittest01 import Login_Test
#当目录有1个以上文件夹需要指明路径文件夹
# 函数写法:
# 不写class run文件调用return_suite()括号不用加参数
# def return_suite():
# 创建一个测试套件对象
# suite = unittest.TestSuite()
# 创建一个加载器对象
# loader = unittest.TestLoader()
# suite.addTests(loader.loadTestsFromTestCase(Login_Test))
# 返回组装好套件
# return suite
#类写法
# 实例化类,创建对象,对象调用函数
#类名首字母要大写
class Run1(unittest.TestSuite):
#不写class run文件调用return_suite()括号不用加参数
def return_suite(self):
#创建一个测试套件对象
suite = unittest.TestSuite()
#创建一个加载器对象
loader = unittest.TestLoader()
suite.addTests( loader.loadTestsFromTestCase(Login_Test) )
#返回组装好套件
return suite#使用class类可以注销
3.创建run文件运行
import unittest
import HTMLReport
#函数写法 在return和没有创建class的情况下
# from dashangchuang.suite01 import return_suite
# if __name__ == "__main__":
# 创建一个总的测试套件
# suite = unittest.TestSuite()
# 将各功能模块的测试套件加入到总的套件中
# suite.addTests(return_suite())
#class写法
from dashangchuang.suite01 import Run1
if __name__ == "__main__": #主函数
test = Run1() #实列化 class类调用对象
test.return_suite() #对象去调用函数
a = test.return_suite()#添加变量存起来
#运行报告
HTMLReport.TestRunner(
title="自动化测试",
description="自动化测试项目报告",
report_file_name="test"
).run(a)
print(a)
总结:
#addtest or addtests加用例方法
# 用例要这么加 要直接传用例的
# suite = unittest.TestSuite()
# loader = unittest.TestLoader()
# suite.addTest(loader.loadTestsFromTestCase(TestRegister())
实列化类意思: