python自动化八层框架-test_cases层

#test_addcart
import  unittest
from selenium import webdriver

from common.get_driver import driver
from test_datas.login_data import login_url,login_success_data
from page_objects.login_page import LoginPage
from page_objects.addCart_page import  AddCartPage
from test_datas.addcart_data import good
class TestAddCart(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        cls.driver=driver()
        # cls.driver=webdriver.Chrome()
        # cls.driver.get(login_url)
        # cls.driver.maximize_window()
        # cls.driver.implicitly_wait(10)
        # cls.loginpage=LoginPage(cls.driver)
        # cls.loginpage.login(login_success_data['username'],login_success_data['password'],login_success_data['code'])
        cls.addcartpage=AddCartPage(cls.driver)

    def setUp(self) -> None:
        pass
    def tearDown(self) -> None:
        pass
    @classmethod
    def tearDownClass(cls) -> None:
        cls.driver.quit()


    def test_addCart_success(self):
        '''
        加购成功
        :return:
        '''
        self.addcartpage.search_goods(good)#先搜索
        self.addcartpage.addgood_to_cart()#加购
        expect='添加成功'
        if expect==self.addcartpage.get_add_success_msg():
            print('断言成功,用例执行成功')
        else:
            print('断言失败,用例执行失败')

if __name__ == '__main__':
    unittest.main()
#test_login
import unittest
from time import sleep
from selenium import webdriver
from page_objects.login_page import  LoginPage
from test_datas.login_data import login_url, login_success_data, login_fail_data
from ddt import ddt,data,unpack
from page_objects.userinfo_page import UserInfoPage
from common.get_driver import driver
@ddt#这个必须加
class TestLogin(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        # cls.driver = webdriver.Chrome()
        # cls.driver.get(login_url)#url参数化
        # cls.driver.maximize_window()
        cls.driver=driver(isLogin=False)
        cls.loginpage=LoginPage(cls.driver)#传入之前的driver作为该页面类的实例化参数
        cls.userinfopage=UserInfoPage(cls.driver)
    def setUp(self) -> None:
        pass

    def tearDown(self) -> None:
        self.driver.refresh()

    @classmethod
    def tearDownClass(cls) -> None:
        cls.driver.quit()
    @data(login_success_data)
    @unpack#拆字典
    def test_login_s01(self,username,password,code,expect):
        '''
        正向测试用例
        :param username:
        :param password:
        :param code:
        :param expect:
        :return:
        '''
        self.loginpage.login(username,password,code)
        sleep(2)
        result=self.userinfopage.get_login_success_msg()#获取登录成功的提示消息
        if expect == result:
            print('断言成功,用例执行成功')
        else:
            print('断言失败,用例执行失败')
    @data(*login_fail_data)#拆列表
    @unpack#拆字典
    def test_login_f01(self,username,password,code,expect):
        '''
        反向测试用例
        :param username:
        :param password:
        :param code:
        :param expect:
        :return:
        '''
        self.loginpage.login(username,password,code)
        sleep(2)
        # expect = '密码错误!'
        result=self.loginpage.get_login_fail_msg()#调用获取登录失败的提示消息
        if expect == result:
            print('断言成功,用例执行成功')
        else:
            print('断言失败,用例执行失败')

    # def test_login_f02(self):
    #     self.loginpage.login('13800138007','123456','1111')
    #     sleep(2)
    #     expect = '账号不存在!'
    #     result = self.driver.find_element_by_xpath("//div[@class='layui-layer-content layui-layer-padding']").text
    #     if expect == result:
    #         print('断言成功,用例执行成功')
    #     else:
    #         print('断言失败,用例执行失败')


if __name__ == '__main__':
    unittest.main()
#test_userinfo
import unittest
from selenium import webdriver

from common.get_driver import driver
from test_datas.login_data import login_url,login_success_data#导入登录所需数据
from page_objects.userinfo_page import UserInfoPage#导入用户信息页面的类
from page_objects.login_page import LoginPage#登录页面类
from test_datas.userinfo_data import pic_path#图片路径
class TestUserInfo(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        cls.driver=driver()
        # cls.driver=webdriver.Chrome()
        # cls.driver.get(login_url)
        # cls.driver.maximize_window()
        # cls.driver.implicitly_wait(10)
        # cls.loginpage=LoginPage(cls.driver)#登录页面类的实例化
        # cls.loginpage.login(login_success_data['username'],login_success_data['password'],login_success_data['code'])#登录成功
        cls.userinfopage=UserInfoPage(cls.driver)#用户信息页面类的实例化
    def setUp(self) -> None:
        pass
    def tearDown(self) -> None:
        self.driver.refresh()
    @classmethod
    def tearDownClass(cls) -> None:
        cls.driver.quit()

    def test_upload_pic(self):
        self.userinfopage.upload_pic(pic_path)#调用用户信息页面的上传图片方法
        expect='操作成功'
        if expect==self.userinfopage.get_upload_success_msg():#获取上传头像成功的提示消息
            print('断言成功,用例执行成功')
        else:
            print('断言失败,用例执行失败')

if __name__ == '__main__':
    unittest.main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值