class TestStock(unittest.TestCase): @classmethod def setUpClass(cls): # 获取浏览器驱动 cls.driver = UtilsDriver.get_driver() cls.stock_page = StockProxy() @classmethod def tearDownClass(cls): UtilsDriver.quit_driver() def setUp(self): self.driver.get("http://localhost") # 新增库存 @parameterized.expand(get_case_data(filename, "add_stock")) def test01_stock_add(self, supplier_name, model, price, number, msg): self.stock_page.go_add_stock(supplier_name, model, price, number) self.assertIn(msg, get_tip_msg()) time.sleep(5) # 出库 @parameterized.expand(get_case_data(filename, "out_stock")) def test02_out_stock(self, shippers, out_number, out_price, msg): self.stock_page.go_out_stock(shippers, out_number, out_price) self.assertIn(msg, get_tip_msg())
class TestPubAritcle: def setup_class(self): # 1.打开浏览器 self.driver = DriverUtils.get_mp_driver() # 创建首页业务层的对象 self.home_proxy = HomeProxy() # 创建发布文章业务层的对象 self.pub_ari_proxy = PubAriProxy() # 创建登录页面的业务层对象 def setup_method(self): self.driver.get("http://ttmp.research.itcast.cn/") # 定义测试方法 @allure.severity(allure.severity_level.BLOCKER) @pytest.mark.parametrize(("ari_title", "ari_context", "ari_channel", "expect"), get_case_data("./data/mp/test_pub_ari_data.json")) def test_pub_ari(self, ari_title, ari_context, ari_channel, expect): # 2.组织测试数据 # config.PUB_ARI_TITLE = ari_title.format(time.strftime("%H%M%S")) config.PUB_ARITCAL_TITLE = ari_title.format(time.strftime("%H%M%S")) print("发布文章标题{}".format(config.PUB_ARITCAL_TITLE)) # 3.执行测试步骤 self.home_proxy.to_pub_ari_page() self.pub_ari_proxy.test_pub_aritcal(config.PUB_ARITCAL_TITLE, ari_context, ari_channel) # 截图 get_allure_png(self.driver,"发布文章") # 4.结果断言 assert is_element_exist(self.driver, expect) # 5.关闭浏览器 def teardown_class(self): DriverUtils.quit_mp_driver()
class TestCategory(unittest.TestCase): # 类级别前置操作 @classmethod def setUpClass(cls): # 获取浏览器驱动对象 cls.driver = UtilsDriver.get_driver() cls.category_page = CategoryProxy() # 类级别后置操作 @classmethod def tearDownClass(cls): UtilsDriver.quit_driver() # 方法级别前置操作 def setUp(self): self.driver.get("http://localhost") # 新增分类 @parameterized.expand(get_case_data(filename,"add_category")) def test01_add_cate(self,cate_name,brand_name,msg): # 添加分类 self.category_page.go_add_cate(cate_name) self.assertIn(msg,get_tip_msg()) # 添加品牌 self.category_page.go_add_bran(brand_name) self.assertIn(msg,get_tip_msg())
class TestPubAritcle: def setup_class(self): # 打开新浏览器 self.driver = DriverUtils.driver_get_mp() # 创建首页业务层对象 self.home_proxy = HomeProxy() # 创建发布文章业务成的对象 self.pub_ari_proxy = PubAriProxy() # 创建登录页面的业务层对象 # self.login_proxy = LoginProxy() def setup_method(self): self.driver.get("http://ttmp.research.itcast.cn/") # 定义测试方法 @pytest.mark.parametrize( ("title_ari", "context_ari", "channel_ari", "expect"), get_case_data("./data/mp/test_pub_ari_data.json")) def test_pub_ari(self, title_ari, context_ari, channel_ari, expect): # 组织测试数据 config.PUB_ARITCAL_TITLE = title_ari.format(time.strftime("%H%M%S")) print(config.PUB_ARITCAL_TITLE) # 执行测试步骤 self.home_proxy.to_pub_ari_page() self.pub_ari_proxy.test_pub_artcal(config.PUB_ARITCAL_TITLE, context_ari, channel_ari) get_allure_pne(self.driver, "发布文章") # 断言 assert is_element_exist(self.driver, expect) def teardown_class(self): DriverUtils.driver_mp_quit()
class TestPubArticle: # 1.打开浏览器 def setup_class(self): # 打开浏览器 self.driver = DriverUtils.get_mp_driver() # 创建首页业务层的对象 self.home_proxy = HomeProxy() # 创建发布文章业务层的对象 self.pub_ari_proxy = PubAriProxy() # 创建登录页面的业务层对象 # self.login_proxy = LoginProxy() # def setup_method(self): self.driver.get("http://ttmp.research.itcast.cn/") # 定义测试方法 @pytest.mark.parametrize( ("ari_title", "ari_context", "ari_channel", "expect"), get_case_data("./data/mp/test_pub_ari_atl.json")) def test_pub_ari(self, ari_title, ari_context, ari_channel, expect): # 2.组织测试数据 config.PubArticleName = ari_title.format(time.strftime("%H%M%S")) # 3.执行测试步骤 self.home_proxy.to_pub_air_tab() self.pub_ari_proxy.test_pub_aritcal(config.PubArticleName, ari_context, ari_channel) # 4.结果断言 assert is_element_exist(self.driver, expect) # HomeHandle().cilck_context_tab() """ 不使用参数化的方法 def test_pub_ari(self): # 2.组织测试数据 ari_title = "BJ23_TESTNB_{}".format(time.strftime("%H%M%S")) ari_context = "我不想学测试,要秃头的" ari_channel = "软件测试" # # 执行登录 # self.login_proxy.test_mp_login("13012345678", "246810") # 3.执行测试步骤 self.home_proxy.to_pub_air_tab() self.pub_ari_proxy.test_pub_aritcal(ari_title, ari_context, ari_channel) # 4.结果断言 assert is_element_exist(self.driver, "新增文章成功") 不使用参数化的方法 """ # 5.关闭浏览器 def teardown_class(self): DriverUtils.quit_mp_driver()
class TestPubArticle: # 2. 定义初始化方法 def setup_class(self): # 2.1 实例化浏览器驱动对象 self.driver = DriverUtils.get_mp_driver() # 2.2 实例化需调用的业务方法所在类的对象 self.home_proxy = HomeProxy() self.pub_ari_proxy = PubAriProxy() def setup_method(self): self.driver.get("http://ttmp.research.itcast.cn") # 3. 定义测试类 @allure.severity(allure.severity_level.BLOCKER) @pytest.mark.parametrize(("ari_title", "ari_context", "ari_channel_name", "expect"), get_case_data("./data/mp/test_pub_ari_data.json")) def test_ari_publish(self, ari_title, ari_context, ari_channel_name, expect): # 3.1 定义测试数据 # title = "test{}".format(time.strftime("%Y%m%d%H%M%S")) # context = "testtesttest测试测试测试" # channel_name = '测试开发' # 3.2 调用业务方法形成完整的业务 config.PUB_ARITCAL_TITLE = ari_title.format(time.strftime("%Y%m%d%H%M%S")) time.sleep(3) self.home_proxy.to_pub_ari_page() time.sleep(3) self.pub_ari_proxy.test_publish_ari(config.PUB_ARITCAL_TITLE, ari_context, ari_channel_name) # 截图 get_allure_png(self.driver, "发布文章") # 断言 assert is_element_exist(self.driver, expect) # 点击内容管理 # HomeHandle().click_context_tab() # 4. 关闭浏览器驱动对象 def teardown_class(self): DriverUtils.quit_mp_driver()
class TestMpLogin: # 定义初始化方法 def setup_class(self): # 获取驱动的对象 self.driver = DriverUtils.get_mp_driver() # 创建好所需要调用业务方法所在的类的对象 self.login_proxy = LoginProxy() self.home_proxy = HomeProxy() self.pub_proxy = PubAriProxy() # 恢复到原点 def setup_method(self): self.driver.get("http://ttmp.research.itcast.cn/") # 定义测试方法 @pytest.mark.parametrize( ("ari_title", "ari_context", "ari_channel", "expect"), get_case_data("./data/mp/test_pub_data.json")) def test_mp_pub(self, ari_title, ari_context, ari_channel, expect): # 定义测试数据 # username = "******" # code = "246810" # # 调用业务方法形成完整业务操作 # self.login_proxy.test_mp_login(username, code) # # 断言 # assert is_element_exist(self.driver, "江苏传智播客") config.PUB_ARITCAL_TITLE = ari_title.format( time.strftime("%Y%m%d%H%S%M")) self.home_proxy.to_pub_ari_page() self.pub_proxy.to_pub_ari_tab(config.PUB_ARITCAL_TITLE, ari_context, ari_channel) assert is_element_exist(self.driver, expect) # HomeHandle().click_context_tab() # 定义销毁的方法 def teardown_class(self): DriverUtils.quit_mp_driver()