appium+Python+Selenium+Unittest+HTMLTestRunner(八)测试用例编写

login.py

# coding:utf-8
"""
Created on 2024-8-30
description: 定义登录界面的测试用例
@author: xxx
"""
import time,os.path,unittest
from framework.BasePage import BasePage
from framework.Driver_Configure import Driver_Configure
from framework.readExcel import TestExcel
from framework.ImageCompare import ImageCompare
from framework.retry  import Retry
from Page.LoginPage import LoginPage
from Page.FirstPage import FirstPage
from Page.HomePage import HomePage
from Page.MerchantPage import MerchantPage


@Retry(max_n=2)#失败或报错后重试2次
class TestLoginPage(unittest.TestCase):

    #声明获取excel文件第1个表
    Sheet = TestExcel().get_sheetnames()[0]
    test_data = (TestExcel().get_xlsx(Sheet))
    # 初始化必要的设备信息与业务页面
    @classmethod
    def setUpClass(self):
        configure = Driver_Configure()
        #print(u"系统启动")
        self.driver = configure.get_driver()
        self.base_page = BasePage(self.driver)
        self.Login_page = LoginPage(self.driver)
        self.First_page = FirstPage(self.driver)
        self.Home_page = HomePage(self.driver)
        self.Merchant_page = MerchantPage(self.driver)




    # 测试用例1---登录页面UI验证
    def test_login_001(self):
        '''登录页面UI验证'''
        print('登录页面')
        # 获取图片地址
        screen_path = (os.path.abspath('.') + '/UI/screenshot/').replace('\\', '/')
        shot_path = (os.path.abspath('.') + '/UI/shot/').replace('\\', '/')

        self.IC = ImageCompare()
        # 获取当前界面的截图
        self.driver.save_screenshot(screen_path + 'login_screenshot.png')
        # 加载截图和参考图片
        ele = self.IC.calc_similar_by_path(screen_path + 'login_screenshot.png',
                                           shot_path + 'login.png') * 100
        # 验证
        try:
            self.assertEquals(ele, 100)
        except BaseException as f:
            print('UI:登录页面和原型页面不一致')
            raise
        else:
            print('UI:登录页面和原型页面一致')

    # 测试用例2 ---手机号格式不正确,密码正确
    def test_login_002(self):
        '''手机号格式不正确,密码正确'''
        print('登录页面')
        # 登录业务
        self.Login_page.do_login_customer(self.test_data[2]['手机号'], self.test_data[2]['密码'])
        # 验证
        try:
            self.assertEquals(self.base_page.show_text(self.Login_page.tip_button), self.test_data[2]['预期结果1'])
        except BaseException as f:
            self.base_page.get_img()
            raise
        else:
            print('测试ok')
        finally:
            # 去掉勾选
            self.base_page.click(self.Login_page.agreement_button)


    @classmethod
    def tearDownClass(self):
        print(u"关闭进程")
        self.driver.quit()



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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值