def logon_ddt(self, username, password, expect): loginp = LoginPage(self.driver) loginp.input_id(username) loginp.input_password(password) loginp.click_login() result = loginp.get_username() self.assertTrue(result)
class TestLogin: def setup(self): self.login_page = LoginPage() @pytest.allure.severity(pytest.allure.severity_level.CRITICAL) @pytest.mark.parametrize("username,password", [("zhangsan", "zhangsan123"), ("lisi", "lisi123")]) def test_login1(self, username, password): self.login_page.input_username(username) self.login_page.input_password(password) self.login_page.click_login() assert 1 @pytest.allure.severity(pytest.allure.severity_level.BLOCKER) def test_login2(self): self.login_page.input_password("2") self.login_page.input_username("2") self.login_page.click_login() assert 1 def test_login3(self): assert 0 def test_login4(self): assert 0
class TestLogin: def setup(self): self.driver = init_driver() self.login_page = LoginPage(self.driver) # @pytest.mark.parametrize(("username", "password", "toast"), data_with_key("test_login")) # def test_login(self, username, password, toast): # # 输入手机号 # self.login_page.input_username(username) # # 输入密码 # self.login_page.input_password(password) # # 点击登录 # self.login_page.click_login() # # assert self.login_page.is_toast_exist(toast) @pytest.mark.parametrize("args", data_with_key("test_login")) def test_login(self, args): # 输入手机号 self.login_page.input_username(args["username"]) # 输入密码 self.login_page.input_password(args["password"]) # 点击登录 self.login_page.click_login() assert self.login_page.is_toast_exist(args["toast"])
class TestLogin: def setup(self): self.driver = get_driver() self.login_page = LoginPage(self.driver) def teardown(self): self.driver.quit() @allure.step(title='测试登录的脚本') @pytest.mark.parametrize('args', data_with_key('test_login')) def test_login(self, args): username = args['username'] password = args['password'] toast = args['toast'] screenshot_name = username + '_login' # 输入用户名 allure.attach('', '输入用户名') self.login_page.input_username(username) # 输入密码 allure.attach('', '输入密码') self.login_page.input_password(password) # 点击登录按钮 allure.attach('', '点击登录按钮') self.login_page.click_login() # 判断是否登录成功 allure.attach(toast, '判断是否登录成功') res = self.login_page.is_toast_exist(toast, True, screenshot_name) # 上传截图 allure.attach( open('screen/' + screenshot_name + '.png', 'rb').read(), '截图', allure.attachment_type.PNG) assert res
class TestLogin: def setup(self): self.driver = init_driver() self.login_page = LoginPage(self.driver) @pytest.mark.parametrize("args", yml_data_with_file("login_data", 'test_login')) def test_login(self, args): self.login_page.input_username(args['username']) self.login_page.input_password(args['password']) self.login_page.click_login() time.sleep(5) self.login_page.screenshot(args['screen']) # 成功就向下执行 print(self.login_page.is_errorTip()) if self.login_page.is_errorTip(): # 登录成功后返回我的主页 self.driver.keyevent(4) # 点击设置页面,再退出 self.login_page.click_set() # 找到退出按钮并点击 self.login_page.click_back() assert self.login_page.is_errorTip() def teardown(self): print("测试结束hahaha")
def login_ddt(self, username, password, expect): loginp = LoginPage(self.driver) loginp.input_id(username) loginp.input_password(password) loginp.click_login() time.sleep(5) re = loginp.get_username() self.assertTrue(re == expect)
class TestLogin: def setup(self): self.login_page = LoginPage() def test_login1(self, username, password): self.login_page.input_username(username) self.login_page.input_password(password) self.login_page.click_login() assert 1
class Shopping(): def __init__(self, driver): self.home = HomePage(driver) self.user_center = UserCenter(driver) self.login = LoginPage(driver) self.address = AddressPage(driver) self.goods_detial = GoodsDetail(driver) self.confirm_order = ConfirmOrder(driver) def shopping_flow(self, username, password, data): #在首页点击我的进入用户中心 self.home.click_user_center() #点击个人中心的头像进入登陆界面 self.user_center.click_address() #登录 self.login.input_username(username) self.login.input_password(password) self.login.click_login() #新建一个地址 time.sleep(6) self.user_center.click_address() self.address.click_add_new_address() self.address.input_consignee_name(data["consignee_name"]) self.address.input_consignee_mobile(data["consignee_mobile"]) self.address.choose_consignee_region() self.address.input_consignee_address(data["consignee_address"]) self.address.click_save_address() #回到首页 self.home.click_home() #选择商品 self.home.click_goods() #点击立即购买 time.sleep(5) self.goods_detial.click_buy_now() self.goods_detial.click_confirm() #使用积分和余额付款 self.confirm_order.click_order_point() self.confirm_order.click_order_balance() #点击提交订单 time.sleep(5) self.confirm_order.click_submit() self.confirm_order.input_pay_passwd("111111") self.confirm_order.click_confirm_pay() # 点击用户中心 self.home.click_user_center() self.user_center.click_my_order() order_number = self.user_center.get_order_number() return order_number
class CommentFlow(): def __init__(self, driver): self.home = HomePage(driver) self.user_center = UserCenter(driver) self.login = LoginPage(driver) self.address = AddressPage(driver) self.goods_detial = GoodsDetail(driver) self.confirm_order = ConfirmOrder(driver) self.comment_center = CommentCenter(driver) def comment_flow(self, username, password, text): """评价流程""" # 在首页点击我的进入用户中心 self.home.click_user_center() # 点击个人中心的头像进入登陆界面 self.user_center.click_address() self.login.input_username(username) self.login.input_password(password) self.login.click_login() #点击待评价订单 time.sleep(6) self.user_center.click_wait_evaluate() #进入评价中心,获取标题 self.comment_center.get_text() #点击评价晒单 self.comment_center.click_evaluate_img() #输入评价内容 time.sleep(9) self.comment_center.input_evaluate_content(text) #星级评价 time.sleep(9) self.comment_center.click_star() #点击提交 self.comment_center.click_submit() #点击已评价 self.comment_center.click_have_comment() #点击评价的商品 time.sleep(9) self.comment_center.find_have_comment_goods() #点击评价 time.sleep(9) self.goods_detial.click_comment() #打印评价内容 time.sleep(9) content = self.goods_detial.find_comment(text) return content
class TestLogin: def setup(self): self.driver = init_driver() self.login_page = LoginPage(self.driver) # @pytest.mark.parametrize(("username", "password", "toast"), data_with_key("test_login")) # def test_login(self, username, password, toast): # # 输入手机号 # self.login_page.input_username(username) # # 输入密码 # self.login_page.input_password(password) # # 点击登录 # self.login_page.click_login() # # assert self.login_page.is_toast_exist(toast) @allure.step(title="测试登录脚本") @pytest.mark.parametrize("args", data_with_key("test_login")) def test_login(self, args): username = args["username"] password = args["password"] toast = args["toast"] screen = args["screen"] # 输入手机号 allure.attach('输入用户名' + username, "") self.login_page.input_username(username) time.sleep(1) # 输入密码 allure.attach('输入密码', password) self.login_page.input_password(password) time.sleep(1) # 点击登录 allure.attach('点击登录', '') self.login_page.click_login() time.sleep(1) allure.attach('判断"对应的提示"是否存在', toast) res = self.login_page.is_toast_exist(toast, False, screen) time.sleep(1) # 上传图片 # allure.attach('图片', open('./screen/' + screen + '.png', 'rb').read(), allure.attach_type.PNG) assert res
class Promotion(): def __init__(self, driver): self.home = HomePage(driver) self.user_center = UserCenter(driver) self.login = LoginPage(driver) self.address = AddressPage(driver) self.goods_detial = GoodsDetail(driver) self.confirm_order = ConfirmOrder(driver) def promotion_flow(self, username, password): #在首页点击我的进入用户中心 self.home.click_user_center() #点击个人中心的头像进入登陆界面 self.user_center.click_address() #登录 self.login.input_username(username) self.login.input_password(password) self.login.click_login() #回到首页 self.home.click_home() time.sleep(6) #选择商品 time.sleep(7) self.home.search_goods() #点击立即购买 time.sleep(5) self.goods_detial.click_buy_now() self.goods_detial.click_confirm() #使用积分和余额付款 self.confirm_order.click_order_point() self.confirm_order.click_order_balance() #点击提交订单 time.sleep(5) self.confirm_order.click_submit() self.confirm_order.input_pay_passwd("111111") self.confirm_order.click_confirm_pay() #点击用户中心 self.home.click_user_center() self.user_center.click_my_order() order_number = self.user_center.get_order_number() return order_number
class TestLogin: def setup(self): self.driver = init_driver() self.login_page = LoginPage(self.driver) @allure.step(title="测试登录脚本") @pytest.mark.parametrize("args", data_with_key("test_login")) def test_login(self, args): username = args["username"] pwd = args["password"] toast = args["toast"] # 截图的名字 screen_name = args["screen_name"] # 1.点击我的, 点击登录/注册 # 2.输入用户名 allure.attach("输入用户名" + username, "") self.login_page.input_uername(username) # 3.输入密码 allure.attach("输入密码" + pwd, "") self.login_page.input_pwd(pwd) # 4.点击登录 allure.attach("点击登录", "") self.login_page.click_login() allure.attach("判断对应的提示是否正确", toast) res = self.login_page.is_toast_exist(toast, True, screen_name) time.sleep(1) # 使用allure上传图片 allure.attach("登录截图", open('./screen/'+ screen_name +'.png', 'rb').read(), allure.attach_type.PNG) # 5.根据toast断言成功或者失败 assert self.login_page.is_toast_exist(toast)
class Testlogin(): def setup(self): self.driver = init_driver() self.login_page = LoginPage(self.driver) def teardown(self): self.driver.quit() # @pytest.mark.parametrize(("username", "password", "toast"), [("188", "123", "成功"), ("188", "321", "成功")]) @allure.step(title="测试登录脚本") @pytest.mark.parametrize("args", data_with_key("test_login")) def test_login(self, args): username = args["username"] password = args["password"] toast = args["toast"] is_screen = args["is_screen"] screen_filename = args["screen_filename"] # 输入手机号 allure.attach(username, "输入用户名") self.login_page.input_username(username) # 输入密码 allure.attach(password, "输入密码") self.login_page.input_password(password) # 点击登录 allure.attach('', "点击登录") self.login_page.click_login() # 判断是否登录成功 allure.attach(toast, "判断对应提示是否正确") result = self.login_page.is_toast_exist( toast, is_screenshot=is_screen, screenshot_name=screen_filename) if is_screen: allure.attach(open('./screen/' + screen_filename + '.png', 'rb').read(), "图片", attachment_type=allure.attachment_type.PNG) assert result
def click_save_address(self): """点击保存收货地址""" self.click(self.save_address_loc) time.sleep(5) self.click_back() if __name__ == '__main__': driver = open_app() swipe = Base(driver) home = HomePage(driver) # home.click_mine() home.click_user_center() user = UserCenter(driver) time.sleep(5) user.click_address() login = LoginPage(driver) login.input_username("17788888888") login.input_password("123456") login.click_login() time.sleep(10) user.click_address() address = AddressPage(driver) address.click_add_new_address() time.sleep(5) address.input_consignee_name("三只松鼠") address.input_consignee_mobile(18888888888) address.choose_consignee_region() address.input_consignee_address("三只小猪") address.click_save_address()
class TestLogin: def setup(self): self.driver = init_driver() self.login_page = LoginPage(self.driver) #@pytest.mark.parametrize("args",data_with_key("test_login")) #@pytest.mark.parametrize(("username","password","toast"),data_with_key("test_login")) #def testlogin1(self,args): # def test_login(self,username,password,toast): # #点击立即登录 # self.login_page.click_now_login() # #点击 密码登录 # self.login_page.password_login() # #5、输入手机号 # #self.login_page.input_phone_number(args[username]) # self.login_page.input_phone_number(username) # #点击密码框 # self.login_page.click_password_text() # #6、输入密码 # #self.login_page.input_password(args[password]) # self.login_page.input_password(password) # # #7、点击登录 # self.login_page.click_login() # # #断言登录是否成功 # #assert self.login_page.is_toast_exist(args[toast]) # # ele=self.login_page.is_toast_exist(toast) # # print(ele) # assert self.login_page.is_toast_exist(toast) # # @pytest.mark.parametrize("args",data_with_key("test_login")) # #字典读取数据 # @pytest.mark.parametrize("args",data_with_key("test_login1")) # def testlogin1(self,args): # # 点击立即登录 # self.login_page.click_now_login() # # 点击 密码登录 # self.login_page.password_login() # # 5、输入手机号 # self.login_page.input_phone_number(args["username"]) # # 点击密码框 # self.login_page.click_password_text() # # 6、输入密码 # self.login_page.input_password(args["password"]) # # 7、点击登录 # self.login_page.click_login() # # # 断言登录是否成功 # assert self.login_page.is_toast_exist(args["toast"]) # # ele=self.login_page.is_toast_exist(toast) # # print(ele) #指定测试数据顺序: @allure.step(title="测试登录脚本") @pytest.mark.parametrize("args", data_with_key("test_login2")) def test_login2(self, args): username = args['username'] password = args['password'] toast = args['toast'] screen = args['screen_name'] print(username, password, toast, screen) # 点击立即登录 allure.attach("点击立即登录", "立即登录按钮") self.login_page.click_now_login() # 点击 密码登录 allure.attach("点击密码登录", "密码登录按钮") self.login_page.password_login() # 5、输入手机号 allure.attach("输入手机号码", username) self.login_page.input_phone_number(username) # 点击密码框 allure.attach("点击密码框", "点击密码框使其选中状态") self.login_page.click_password_text() # 6、输入密码 allure.attach("输入密码", password) self.login_page.input_password(password) # 7、点击登录 allure.attach("点击登录", "登录按钮") self.login_page.click_login() with open("./screen/" + screen + ".png", "rb") as f: context = f.read() print("读取图片成功") # 断言登录是否成功 allure.attach('断言 "判断对用提示"是否存在', toast) dy = self.login_page.is_toast_exist(toast, True, screen) #上传图片 allure.attach(context, "图片", attachment_type=allure.attachment_type.PNG) #print(dy) assert dy
def test_login(self,login_user,login_pswd,verify_info): login = LoginPage(self.driver) login.click_login(login_user,login_pswd) title =self.driver.title assert verify_info == title