Exemple #1
0
    def setup_class(self):
        # 不加return,获取driver
        # self.driver = get_driver()
        # self.aike = PageLogin(self.driver)

        # 加return:
        self.aike = PageLogin(getdriver())
 def setup_class(self):
     # 实例化 登录页面类
     self.login = PageLogin(get_driver())
     # 点击我
     self.login.page_click_me()
     # 点击已有账户
     self.login.page_click_info()
Exemple #3
0
 def setup_class(self):
     # 实例化地址管理页面
     self.address = PageAddress(get_driver())
     # 登录成功
     # 实例化登录页面
     self.login = PageLogin(get_driver())
     self.login.page_login('13331172859','123456')
     # 点击设置
     self.login.page_click_setting()
     # 点击地址管理
     self.address.page_click_address_manage()
Exemple #4
0
class TestLogin():
    def setup_class(self):
        # 实例化PageLogin
        self.login = PageLogin(get_driver())

    def teardown_class(self):
        # 退出driver驱动
        self.login.driver.quit()

    def test_login(self):
        # 登录操作
        self.login.page_login("13331172859", "123456")
        try:
            # 断言登录是否成功
            assert "lj0918" in self.login.page_get_nickname()
            print('登录成功')
            # 退出操作
            self.login.page_login_logout()
        except:
            # 失败 截图
            self.login.base_getimage()
            with open('./Image/failed.png', 'rb') as f:
                allure.attach('登录失败描述:', f.read(), allure.attach_type.PNG)
            # 抛出异常
            raise
Exemple #5
0
class TestLogin():
    def setup_class(self):
        # 实例化 登录页面类
        self.login = PageLogin(get_driver())

    def teardown_class(self):
        # 退出driver驱动
        self.login.driver.quit()

    def test_login(self):
        # 登录操作
        self.login.page_login("18610453007", "123456")
        try:
            assert "itheima" in self.login.page_get_nickname()
            allure.attach('断言成功描述')
            # 退出操作
            self.login.page_login_logout()
        except:
            # 截图
            self.login.base_getImage()
            with open("./Image/faild.png", "rb") as f:
                allure.attach("失败描述:", f.read(), allure.attach_type.PNG)

            # 抛异常
            raise
class TestLogin():
    def get_data(self):
        datas = ReadYaml("login.yaml").read_yaml()
        print(datas)
        arrs = []
        for data in datas.values():
            print(data)
            arrs.append((data.get("username"), data.get("password"), data.get("expext"), data.get("toast_except")))
        return arrs


    def setup_class(self):
        self.login= PageLogin(get_driver())

    def teardown_class(self):
        self.login.driver.quit()
    @pytest.mark.parametrize("username","password","expext","toast_expext",get_data())
    def test_login(self,username,password,expext,toast_expext):

        if expext:
            try:
                self.login.page_input_user(username)
                self.login.page_input_pwd(password)
                self.login.page_click_login_btn()
                assert expext in self.login.page_get_nickname()
                # 点击退出
                self.login.
Exemple #7
0
class TestLogin:
    driver = None

    # # 初始化方法
    def setup_class(self):
        self.driver = GetDriver().get_driver()
        self.login = PageLogin(self.driver)

    # 关闭浏览器
    # def teardown_class(self):
    #     GetDriver().quit_driver()

    # 登录
    @pytest.mark.parametrize('args', data_with_key("test_login"))
    @allure.testcase("账号密码登录用例")
    def test_login(self, args):
        username = args["username"]
        password = args["password"]
        code = args["code"]
        expect = args["expect"]
        self.login.page_login(username, password, code)
        nickname = self.login.page_get_nickname()
Exemple #8
0
class TestLogin():
    def setup_class(self):
        self.login = PageLogin(get_driver())

    def teardown_class(self):
        self.login.driver.quit()

    def test_login(self, usename="12334556633", pwd="123123"):
        self.login.page_input_uername(usename)
        self.login.page_input_pwd(pwd)
        self.login.page_login_btn()
Exemple #9
0
class TestLogin:
    def setup_class(self):
        self.login = PageLogin(get_driver())

    def teardown_class(self):
        self.login.driver.quit()

    def test_login(self, username="******", pwd="123456"):
        self.login.page_username(username)
        self.login.page_pwd(pwd)
        self.login.page_click_btn()
Exemple #10
0
class TestLogin():
    #实例化
    def setup_class(self):
        self.login = PageLogin(get_driver())

    def teardown_class(self):
        self.login.driver.quit()

    def test_login(self, username="******", pwd="2131"):
        self.login.page_input_username(username)
        self.login.page_input_pwd(pwd)
        self.login.page_click_login_btn()
Exemple #11
0
class TestLogin():
    def setup_class(self):
        self.driver = get_driver("com.vcooline.aike",
                                 ".umanager.LoginActivity")
        self.login = PageLogin(self.driver)

    def teardown_class(self):
        self.driver.quit()

    # def test_login(self):
    #     self.login.page_click_btn()
    #     print("获取的toast信息为:",self.login.base_get_toast("输入手机"))
    #     # 断言
    #     try:
    #         assert "输入手机号" in self.login.base_get_toast("输入手机")
    #     except:
    #         print("出错啦!")
    #         raise

    # 立即体验
    @allure.step("开始测试体验")
    def test_ty(self):
        # 点击体验
        allure.attach("描述", "点击体验按钮")
        self.login.page_click_ty_btn()
        # 点击立即体验
        allure.attach("描述", "点击立即体验按钮")
        self.login.page_click_ljty_btn()
        print("获取的toast值为:", self.login.base_get_toast("输入手机"))
        try:
            # 断言
            assert "请1输入" in self.login.base_get_toast("请输入手机")
            allure.attach("描述", "获取toast成功!")
        except:
            allure.attach("描述", "获取toast失败!")
            print("出错啦!")
            # 截图
            self.login.base_get_screen_image()
            with open("./Image/faild.png", "rb") as f:
                allure.attach("描述:失败原因", f.read(), allure.attach_type.PNG)
                raise
Exemple #12
0
class TestLogin():
    # setup
    def setup_class(self):
        # 实例化 pagelogin
        self.login = PageLogin(get_driver())

    # teardown
    def teardown_class(self):
        # 关闭driver
        self.login.driver.quit()

    # 测试方法 test_login
    @allure.step("开始登陆操作")
    def test_login(self, username="******", password="******"):
        # 输入用户名
        self.login.page_input_username(username)
        # 输入密码
        self.login.page_input_password(password)
        # 点击登录
        self.login.page_click_login_btn()
        # 断言
        try:
            result = self.login.page_get_toast("密码错误")
            print("获取出来的toast消息为:", result)
            assert "密码错误" in result

            # 提示断言成功
            print("断言成功!")
        except:
            # 截图
            self.login.base_get_screen()
            with open("./Image/faild.png", "rb") as f:
                # 注意写入图片的方法,还是使用 attach 参数:描述,图片流,图个片格式
                allure.attach("描述", f.read(), allure.attach_type.PNG)
            # 抛异常
            raise
Exemple #13
0
class Testlogin():

    #  初始化方法
    def setup_class(self):
        self.login = PageLogin(get_driver())

    # 结束方法
    def teardown_class(self):
        self.login.driver.quit()

    # 测试方法
    def test_login(self, username="******", password="******"):
        # 输入用户名
        self.login.page_input_username(username)
        # 输入密码
        self.login.page_input_password(password)
        # 确认
        self.login.page_click_login()
Exemple #14
0
class TestLogin():
    # 初始化方法
    def setup_class(self):
        # 不加return,获取driver
        # self.driver = get_driver()
        # self.aike = PageLogin(self.driver)

        # 加return:
        self.aike = PageLogin(getdriver())

    # 结束方法
    def teardown_class(self):
        self.aike.driver.quit()

    # 测试方法
    def test_login01(self, username=18672090992, pwd=123456):
        self.aike.page_input_username(username)
        self.aike.page_input_password(pwd)
        self.aike.page_click_login_btn()
Exemple #15
0
class TestLogin():
    # 初始化方法
    def setup_class(self):
        # 实例化 PageLogin
        self.login = PageLogin(get_driver())

    # 结束方法
    def teardown_class(self):
        # 关闭驱动对象
        self.login.driver.quit()

    # 测试方法
    def test_login(self, username="******", pwd="123456"):
        # 输入用户名
        self.login.page_input_username(username)
        # 输入密码
        self.login.page_input_password(pwd)
        # 点击登录
        self.login.page_click_login_btn()
Exemple #16
0
class TestLogin():
    # 初始化方法
    def setup_class(self):
        # 实例化 PageLogin
        self.login=PageLogin(get_driver())
    # 结束方法
    def teardown_class(self):
        # 关闭驱动对象
        self.login.driver.quit()
    # 测试方法
    @pytest.mark.parametrize("username,password,expect_toast",get_data())
    def test_login(self,username,password,expect_toast):
        # 输入用户名
        self.login.page_input_username(username)
        # 输入密码
        self.login.page_input_password(password)
        print("预期结果为:",expect_toast)
        # 点击登录
        allure.attach("描述:","点击登录按钮")
        self.login.page_click_login_btn()
Exemple #17
0
class TestLogin():

    # 初始化方法
    # 把开始运行的前置代码中的driver 实例化 搞一个变量  get_driver中的返回值也就是dreiver给page_login的类,self.login(login就是个变量)就是driver,
    def setup_class(self):
        self.login = PageLogin(get_driver())

    # 结束方法
    def teardown_class(self):
        self.login.driver.quit()

    # 测试方法
    # 函数的参数中,把page_login中输入框的文本写到这边,运用page的方法
    def test_login(self, username="******", pwd="136474"):
        self.login.page_input_username(username)
        self.login.page_input_password(pwd)
        self.login.page_click_login_btn()


# 这是右键运行的方法,不用导包os
# if __name__ == '__main__':
#     pytest.mark("-s test_login.py")
Exemple #18
0
class TestLogin():
    # 初始化方法
    @pytest.allure.severity(pytest.allure.severity_level.NORMAL)
    @allure.step("执行开始操作!")
    def setup_class(self):
        allure.attach("描述","登录成功!")
        #实例化PageLogin
        self.login=PageLogin(get_driver())
    #结束方法
    @allure.step("执行推出操作!")
    def teardown_class(self):
        allure.attach("描述", "退出成功!")
        self.login.driver.quit()

    #测试方法
    def test_login(self,text="WLAN"):
        #点击搜索
        self.login.page_click()
        #输入内容
        self.login.page_username(text)
        #点击返回
        self.login.page_password()
        assert 1
Exemple #19
0
 def setup_class(self):
     allure.attach("描述","登录成功!")
     #实例化PageLogin
     self.login=PageLogin(get_driver())
Exemple #20
0
 def setup_class(self):
     # 实例化 PageLogin
     self.login = PageLogin(get_driver())
Exemple #21
0
class TestLogin():
    def setup_class(self):
        # 实例化 登录页面类
        self.login = PageLogin(get_driver())
        # 点击我的
        self.login.page_click_me()
        # 点击已有账号登录
        self.login.page_click_info()

    def teardown_class(self):
        # 退出driver驱动
        self.login.driver.quit()

    # 参数化
    @pytest.mark.parametrize("username,password,expect,toast_expect",
                             get_data())
    def test_login(self, username, password, expect, toast_expect):
        if expect:
            try:
                # 登录操作
                # self.login.page_login(username,password)
                self.login.page_input_user(username)
                self.login.page_input_pwd(password)
                self.login.page_click_login_btn()
                assert expect in self.login.page_get_nickname()
                allure.attach("登录状态:", "登录成功")
                # 退出操作
                self.login.page_login_logout()
                self.login.page_click_me()
                self.login.page_click_info()
            except:
                # 截图
                self.login.base_getImage()
                with open("./Image/failed.png", "rb") as f:
                    allure.attach("登录失败描述:", f.read(), allure.attach_type.PNG)
                # 抛异常
                raise
        else:
            # 登录 不能使用登录的封装(因为逆向只有第一次需要点击我的和已有账户登录)
            # self.login.page_login(username,password)
            # 以下两个操作放到setup中(以至于正向的操作 也不能使用登录和退出的封装)
            # self.login.page_click_me()
            # self.login.page_click_info()
            self.login.page_input_user(username)
            self.login.page_input_pwd(password)
            self.login.page_click_login_btn()
            try:
                # 断言toast
                assert toast_expect in self.login.base_get_toast(toast_expect)
                allure.attach("登录状态:", "逆向断言成功")
            except:
                # 截图
                self.login.base_getImage()
                with open('./Image/failed.png', 'rb') as f:
                    allure.attach("断言失败描述:", f.read(), allure.attach_type.PNG)
                # 抛异常
                raise
Exemple #22
0
 def page_get_login(self):
     return PageLogin(driver)
Exemple #23
0
 def setup_class(self):
     self.driver = GetDriver().get_driver()
     self.login = PageLogin(self.driver)
Exemple #24
0
class TestAddress():
    def setup_class(self):
        # 实例化地址管理页面
        self.address = PageAddress(get_driver())
        # 登录成功
        # 实例化登录页面
        self.login = PageLogin(get_driver())
        self.login.page_login('13331172859','123456')
        # 点击设置
        self.login.page_click_setting()
        # 点击地址管理
        self.address.page_click_address_manage()

    def teardown_class(self):
        # 退出
        self.address.driver.quit()

    @pytest.mark.run(order=1)
    @pytest.mark.parametrize("receipt_name,phone,province,city,region,detail_addr,post_code", get_data('new'))
    def test_address(self, receipt_name, phone, province, city, region, detail_addr, post_code):
        # 点击新增地址
        self.address.page_click_new_address()
        # 输入收件人
        self.address.page_input_receipt_name(receipt_name)
        # 输入手机号
        self.address.page_input_phone(phone)
        # 选择地区
        self.address.page_click_area(province, city, region)
        # 输入详细地址
        self.address.page_input_detail_address(detail_addr)
        # 输入邮编
        self.address.page_input_post_code(post_code)
        # 设置默认地址
        self.address.page_click_address_default()
        # 点击保存
        self.address.page_click_save()
        # 断言方式一:新增地址设置默认,通过id定位取默认地址的用户名和电话
        # 因为添加的多个地址的用户名和电话 的id都是一样的,默认获取的是默认地址的信息
        # (如果新增的地址没有设置默认,那么新增成功,断言也会失败)

        # 断言方式二:find_elements获取地址管理中所有的用户名手机号的文本信息
        # base 封装个elemets方法
        # page 封装定位获取一组元素文本方法
        # 该文件中调用
        try:
            # assert receipt_name in self.address.page_get_receipt_name_phone()
            # print('新增用户名电话:',receipt_name,phone)
            info = receipt_name + '  ' + phone
            assert info in self.address.page_get_receipt_name_phone_s()
            print(self.address.page_get_receipt_name_phone_s())
        except:
            # 新增失败截图
            self.address.base_getImage()
            with open('./Image/failed.png', 'rb') as f:
                allure.attach("新增地址失败:", f.read(), allure.attach_type.PNG)
            # 抛异常
            raise

    @pytest.mark.run(order=2)
    @pytest.mark.parametrize("receipt_name,phone,province,city,region,detail_addr,post_code,expect_toast", get_data('update'))
    def test_address_change(self,receipt_name,phone,province,city,region,detail_addr,post_code,expect_toast):
        # 点击编辑
        self.address.page_click_ymtitlebar_right_btn()
        # 点击修改:默认第一个
        # self.address.page_click_modify()
        # 点击修改:列表下标
        self.address.page_click_modify_s()
        # 修改收件人
        self.address.page_input_receipt_name(receipt_name)
        # 修改电话
        self.address.page_input_phone(phone)
        # 修改所在地址
        self.address.page_click_area(province,city,region)
        # 修改详细地址
        self.address.page_input_detail_address(detail_addr)
        # 修改邮编
        self.address.page_input_post_code(post_code)
        # 点击保存
        self.address.page_click_button_send()

        try:
            """断言方式一:同新增的断言:判断修改后的用户名密码"""
            # info = receipt_name+'  '+phone
            # assert info in self.address.page_get_receipt_name_phone_s()
            # print(self.address.page_get_receipt_name_phone_s())
            """断言方式二:toast获取文本断言"""
            assert expect_toast in self.address.base_get_toast(expect_toast)
        except:
            # 修改失败截图
            self.address.base_getImage()
            with open('./Image/failed.png','rb') as f:
                allure.attach("新增地址失败:",f.read(),allure.attach_type.PNG)
            # 抛异常
            raise


    @pytest.mark.run(order=3)
    def test_address_delete(self):
        # 删除第一个地址
        # # 点击编辑
        # self.address.page_click_ymtitlebar_right_btn()
        # # 点击第一个删除
        # self.address.page_click_delete()
        # # 确认删除
        # self.address.page_click_delete_ok()
        # 删除所有地址(调用page中的方法(获取所有地址,进行循环遍历,逐个点击删除))
        self.address.page_click_delete_s()
        try:
            assert self.address.page_is_delete()
        except:
            # 截图
            self.login.base_getImage()
            with open("./Image/faild.png", "rb") as f:
                allure.attach("断言失败描述:", f.read(), allure.attach_type.PNG)
            # 抛异常
            raise
Exemple #25
0
 def setup_class(self):
     self.driver = get_driver("com.vcooline.aike",
                              ".umanager.LoginActivity")
     self.login = PageLogin(self.driver)
Exemple #26
0
 def setup_class(self):
     self.login=PageLogin(get_driver())
     self.login.page_click_me()
     self.login.page_click_info()
Exemple #27
0
class TestLogin():
    def setup_class(self):
        self.login=PageLogin(get_driver())
        self.login.page_click_me()
        self.login.page_click_info()
    def teardown_class(self):
        self.login.driver.quit()

    @pytest.mark.parametrize(("username,password,expect,toast_expect"),get_data())
    def test_login(self,username,password,expect,toast_expect):
        # 默认为TRUE,如果expect为TRUE代表有值也就是正向用例,需要进行以下操作
        # 通过模拟功能测试得出思路
        if expect:
            # 进行异常捕获
            try:
                #  输入用户名
                self.login.page_input_username(username)

                # 输入密码
                self.login.page_input_pwd(password)

        #         点击登录
                self.login.page_click_dl_btn()

        #         断言登录后的名称
                assert expect in self.login.page_get_nickname()
                allure.attach("登录状态: ","登录成功")

        #         退出登录
                self.login.page_exit()

        #         点击我的
                self.login.page_click_me()

        #         点击已有账户立即登录
                self.login.page_click_info()

            #     如果出现异常就截图保存
            except:
                # 调用截图方法
                self.login.base_get_screenshot()
                # 打开截图
                with open("./Image/filed.png","rb") as f:
                    # 写入报告中,三个参数:描述,读取文件,写入报告格式声明   png
                    allure.attach("登录失败描述",f.read(),allure.attach_type.PNG)
                raise
        #     相反也就是expect为空,对应的就是逆向,需要执行的操作
        else:
            try:
                # 输入用户名

                self.login.page_input_username(username)
                # 输入密码:
                self.login.page_input_pwd(password)
                # 点击登录
                self.login.page_click_dl_btn()
                # 断言toast_expect消息
                # 调用获取toast消息方法,动态判断登录后的是否相等
                assert toast_expect in self.login.base_get_toast(toast_expect)
                allure.attach("登录状态","逆向断言成功")
            except:
                self.login.base_get_screenshot()
                with open("./Image/filed.png","rb") as f :
                    allure.attach("登录失败描述",f.read(),allure.attach_type.PNG)
                raise
class TestLogin():
    def setup_class(self):
        # 实例化 登录页面类
        self.login = PageLogin(get_driver())
        # 点击我
        self.login.page_click_me()
        # 点击已有账户
        self.login.page_click_info()

    def teardown_class(self):
        # 退出driver驱动
        self.login.driver.quit()

    @pytest.mark.parametrize("username,password,expect,toast_expect",
                             get_data())
    def test_login(self, username, password, expect, toast_expect):
        if expect:
            try:
                # 输入用户名
                self.login.page_input_user(username)
                # 输入密码
                self.login.page_input_pwd(password)
                # 点击登录
                self.login.page_click_login_btn()
                # 断言
                assert expect in self.login.page_get_nickname()
                allure.attach("描述:", "登录成功")
                # 退出操作
                self.login.page_login_logout()
                # 点击我
                self.login.page_click_me()
                # 点击已有账户
                self.login.page_click_info()
            except:
                # 截图
                self.login.base_getImage()
                with open("./Image/faild.png", "rb") as f:
                    allure.attach("失败描述:", f.read(), allure.attach_type.PNG)
                # 抛异常
                raise

        else:
            try:
                # 输入用户名
                self.login.page_input_user(username)
                # 输入密码
                self.login.page_input_pwd(password)
                # 点击登录
                self.login.page_click_login_btn()
                # 断言
                assert toast_expect in self.login.base_get_toast(toast_expect)
                allure.attach("断言描述", "逆向断言成功")
            except:
                # 截图
                self.login.base_getImage()
                with open("./Image/faild.png", "rb") as f:
                    allure.attach("断言失败描述:", f.read(), allure.attach_type.PNG)
                # 抛异常
                raise
Exemple #29
0
 def page_get_login_object(self):
     return PageLogin(self.driver)
Exemple #30
0
 def page_get_login(self):
     # 实例化pagelogin封装类
     return PageLogin(self.driver)