100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 【Web UI自动化测试】page页面对象代码示例

【Web UI自动化测试】page页面对象代码示例

时间:2022-04-18 09:47:58

相关推荐

【Web UI自动化测试】page页面对象代码示例

本文大纲截图:

页面元素定位__init__.py

mon.byimportBy"""以下为项目服务器地址"""URL="http://localhost""""以下为登录模块涉及元素配置信息"""#登录链接login_link=By.PARTIAL_LINK_TEXT,"登录"#用户名login_username=By.CSS_SELECTOR,"#username"#密码login_pwd=By.CSS_SELECTOR,"#password"#验证码login_verify_code=By.CSS_SELECTOR,"#verify_code"#登录按钮login_btn=By.CSS_SELECTOR,".J-login-submit"#错误提示信息login_err_info=By.CSS_SELECTOR,".layui-layer-content"#错误提示框确定按钮login_err_ok_btn=By.CSS_SELECTOR,".layui-layer-btn0"#安全退出按钮login_logout_link=By.PARTIAL_LINK_TEXT,"安全退出""""以下数据为购物车配置数据"""#搜索框cart_search=By.CSS_SELECTOR,"#q"#搜索按钮cart_search_btn=By.CSS_SELECTOR,".ecsc-search-button"#添加购物车-->跳转到详情页面cart_add_info=By.CSS_SELECTOR,".p-btn>a"#添加购物车cart_add=By.CSS_SELECTOR,"#join_cart"#iframe表单名称cart_frame_name=By.CSS_SELECTOR,"layui-layer-iframe1"#id属性定义元素cart_frame_id=By.CSS_SELECTOR,"#layui-layer-iframe1"#获取添加购物车结果cart_add_result=By.CSS_SELECTOR,".conect-title>span"#关闭提示窗口cart_close_window=By.CSS_SELECTOR,".layui-layer-close""""以下数据为订单页面配置数据"""#我的购物车order_my_cart=By.CSS_SELECTOR,".c-n"#全选order_all=By.CSS_SELECTOR,".checkCartAll"#去结算order_account=By.CSS_SELECTOR,".gwc-qjs"#收货人备用order_person=By.CSS_SELECTOR,".consignee>b"#提交订单order_submit=By.CSS_SELECTOR,".Sub-orders"#获取提交订单结果order_submit_result=By.CSS_SELECTOR,".erhuh>h3""""以下数据为支付模块配置数据"""#我的订单pay_my_order=By.PARTIAL_LINK_TEXT,"我的订单"#我的订单页面title 注意:此处为变量,不要Bypay_my_order_title="我的订单"#立即支付pay_now_payment=By.CSS_SELECTOR,".ps_lj"#支付页面titlepay_payment_title="订单支付-开源商城|B2C商城|..."#货到付款pay_on_delivery=By.CSS_SELECTOR,"[src='/plugins/payment/cod/logo.jpg']"#确认支付pay_confirm_payment=By.CSS_SELECTOR,".button-confirm-payment"#获取支付结果pay_payment_result=By.CSS_SELECTOR,".erhuh>h3"

登录功能页面对象(page_login.py)代码示例:

importpagefrombase.baseimportBasefrombase.get_loggerimportGetLogger#获取log日志器log=GetLogger().get_logger()classPageLogin(Base):#点击登录链接defpage_click_login_link(self):log.info("[page_login]:执行{}元素点击链接操作".format(page.login_link))self.base_click(page.login_link)#输入用户名defpage_input_username(self,username):log.info("[page_login]:对{}元素输入用户名{}操作".format(page.login_username,username))self.base_input(page.login_username,username)#输入密码defpage_input_pwd(self,pwd):log.info("[page_login]:对{}元素输入密码{}操作".format(page.login_pwd,pwd))self.base_input(page.login_pwd,pwd)#输入验证码defpage_input_verify_code(self,verify_code):log.info("[page_login]:对{}元素输入验证码{}操作".format(page.login_verify_code,verify_code))self.base_input(page.login_verify_code,verify_code)#点击登录defpage_click_login_btn(self):log.info("[page_login]:执行{}元素点击操作".format(page.login_btn))self.base_click(page.login_btn)#获取错误提示信息defpage_get_err_info(self):returnself.base_get_text(page.login_err_info)#点击错误提示框确定按钮defpage_click_error_alert(self):log.info("[page_login]:执行{}元素点击操作".format(page.login_err_ok_btn))self.base_click(page.login_err_ok_btn)#判断是否登录成功defpage_if_login_success(self):#注意一定要将找元素的结果返回,True:存在returnself.base_elememt_is_exist(page.login_logout_link)#点击安全退出defpage_click_logout_link(self):self.base_click(page.login_logout_link)#判断是否退出成功defpage_if_logout_success(self):returnself.base_elememt_is_exist(page.login_link)#组合业务方法登录业务直接调用defpage_login(self,username,pwd,verify_code):log.info("[page_login]:正在执行登录操作,用户名:{},密码:{},验证码:{}".format(username,pwd,verify_code))self.page_input_username(username)self.page_input_pwd(pwd)self.page_input_verify_code(verify_code)self.page_click_login_btn()#组合登录业务方法给(购物车模块、订单模块、支付模块)依赖登录使用defpage_login_success(self,username="13800001111",pwd="123456",verify_code="8888"):#点击登录链接self.page_click_login_link()log.info("[page_login]:正在执行登录操作,用户名:{},密码:{},验证码:{}".format(username,pwd,verify_code))self.page_input_username(username)self.page_input_pwd(pwd)self.page_input_verify_code(verify_code)self.page_click_login_btn()

添加购物车功能页面对象(page_cart.py)业务代码示例:

#导包fromtimeimportsleepimportpagefrombase.baseimportBasefrombase.get_loggerimportGetLogger#获取log日志log=GetLogger().get_logger()classPageCart(Base):#打开首页defpage_open_index(self):#注意:由于业务问题,必须暂停2秒,否则在登录时,改变url会报错sleep(2)log.info("[page_cart]:正在打开首页")self.base_index()#输入搜索内容小米手机defpage_input_search(self,value="小米手机"):log.info("[page_cart]:正在输入搜索内容:{}".format(value))self.base_input(page.cart_search,value)#点击搜索按钮defpage_click_search_btn(self):log.info("[page_cart]:正在点击搜索按钮")self.base_click(page.cart_search_btn)#点击添加购物车跳转到商品详情页defpage_click_add_cart_info(self):log.info("[page_cart]:正在点击加入购物车按钮,跳转到商品详情页")self.base_click(page.cart_add_info)#点击加入购物车defpage_click_add_cart(self):log.info("[page_cart]:正在点击加入购物车按钮,弹出frame表单")self.base_click(page.cart_add)#点击获取添加结果defpage_get_text(self):##切换frame表单以name属性切换由于电脑配置问题,导致加载比较慢,不建议使用#self.switch_to_frame(page.cart_frame_name)#以元素属性切换推荐self.base_switch_frame(self.base_find(page.cart_frame_id))#获取结果并返回log.info("[page_cart]:正在返回购物结果信息")returnself.base_get_text(page.cart_add_result)#关闭窗口defpage_close_window(self):#回到默认目录self.base_default_content()#关闭操作log.info("[page_cart]:正在关闭表单弹窗")self.base_click(page.cart_close_window)#组合业务调用方法defpage_cart(self):log.info("[page_cart]:正在执行添加购物车操作")self.page_input_search()self.page_click_search_btn()self.page_click_add_cart_info()self.page_click_add_cart()

提交订单功能页面对象(page_order.py)代码示例:

fromtimeimportsleepimportpagefrombase.baseimportBaseclassPageOrder(Base):#打开首页defpage_click_index(self):self.base_index()#点击我的购物车defpage_click_my_cart(self):self.base_click(page.order_my_cart)#点击全选复选框defpage_click_all_select(self):#判断如果没选中就进行点击操作ifnotself.base_find(page.order_all).is_selected():self.base_click(page.order_all)#点击去结算defpage_click_account(self):self.base_click(page.order_account)#备用查找收货人-->动态解决收货人加载慢的问题(数据异步加载)defpage_find_person(self):self.base_find(page.order_person)#点击提交订单defpage_click_submit_order(self):self.base_click(page.order_submit)#获取订单提交结果defpage_get_submit_result(self):returnself.base_get_text(page.order_submit_result)#组装订单业务方法defpage_order(self):self.page_click_my_cart()self.page_click_all_select()self.page_click_account()#注意:此处有一个坑,默认收货人在页面加载完成后3秒后才出现。#解决方法一:使用sleep(5)#sleep(5)#解决方法二:使用显示等待时长机制,查找收货人元素【推荐】#找到收货人,说明异步加载完成,收货人信息出现,直接可以执行下一步提交订单操作self.page_find_person()self.page_click_submit_order()

支付订单功能页面对象(page_pay.py)代码示例:

importpagefrombase.baseimportBaseclassPagePay(Base):#点击我的订单链接defpage_click_my_order_link(self):self.base_click(page.pay_my_order)#点击立即支付defpage_click_now_payment(self):#必须先切换窗口self.base_switch_to_window(page.pay_my_order_title)#点击立即支付self.base_click(page.pay_now_payment)#点击货到付款defpage_click_pay_on_delivery(self):#先切换窗口self.base_switch_to_window(page.pay_payment_title)#点击货到付款self.base_click(page.pay_on_delivery)#确认支付defpage_click_payment_mode(self):self.base_click(page.pay_confirm_payment)#获取支付结果defpage_get_payment_result(self):self.base_get_text(page.pay_payment_result)#组合支付业务方法defpage_pay(self):self.page_click_my_order_link()self.page_click_now_payment()self.page_click_pay_on_delivery()self.page_click_payment_mode()

自动化测试学习视频

面试资料

我们学习软件测试必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。

未来的你肯定会感谢现在拼命的自己!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。