网站设计分类,威联通231p做网站,wordpress插件安装本地安装,网站开发者的设计构想1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现。由于时间的关系#xff0c;宏哥这里用代码给小伙伴演示两个模块#xff1a;注册和登录。
2.业务模块封装 因为现在各种APP的层出不群#xff0c;各式各样的。但是其大多数都有注册、登录。为…1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现。由于时间的关系宏哥这里用代码给小伙伴演示两个模块注册和登录。
2.业务模块封装 因为现在各种APP的层出不群各式各样的。但是其大多数都有注册、登录。为了不要使小伙伴卡在入门处所以宏哥在这里仅仅是给你打一个样俗话说师傅领进门修行靠个人。剩下的就靠童鞋们自己实现和学习了
2.1登录页面业务逻辑模块
思路
1、首先定义封装一个登录类的视图
2、然后继承公共类的定位方法定位账号和密码的输入框
3、在类中定义登录APP的方法
4、在类中定义登录APP检查账户的方法
5、在类中定义检查登录APP登录状态的方法
2.1.1loginView.py 2.1.2参考代码
# codingutf-8
# 1.先设置编码utf-8可支持中英文如上一般放在第一行# 2.注释包括记录创建时间创建人项目名称。Created on 2019-11-18
author: 北京-宏哥 QQ交流群707699217
Project:Appium自动化测试框架综合实践 - 代码实现# 3.导入模块
import logging
from kyb_testProject.common.common_fun import Common,NoSuchElementException
from kyb_testProject.common.desired_caps import appium_desired
from selenium.webdriver.common.by import Byclass LoginView(Common):username_type(By.ID,com.tal.kaoyan:id/login_email_edittext)password_type(By.ID,com.tal.kaoyan:id/login_password_edittext)loginBtn(By.ID,com.tal.kaoyan:id/login_login_btn)tip_commit(By.ID,com.tal.kaoyan:id/tip_commit)button_mysefl(By.ID,com.tal.kaoyan:id/mainactivity_button_mysefl)username(By.ID,com.tal.kaoyan:id/activity_usercenter_username)RightButton(By.ID,com.tal.kaoyan:id/myapptitle_RightButton_textview)logoutBtn(By.ID,com.tal.kaoyan:id/setting_logout_text)def login_action(self,username,password):self.check_cancelBtn()self.check_skipBtn()logging.info(login_action)logging.info(username is:%s %username)self.driver.find_element(*self.username_type).send_keys(username)logging.info(password is:%s%password)self.driver.find_element(*self.password_type).send_keys(password)logging.info(click loginBtn)self.driver.find_element(*self.loginBtn).click()logging.info(login finished!)def check_account_alert(self):logging.info(check_account_alert)try:elementself.driver.find_element(*self.tip_commit)except NoSuchElementException:passelse:logging.info(close tip_commit)element.click()def check_loginStatus(self):logging.info(check_loginStatus)self.check_market_ad()self.check_account_alert()try:self.driver.find_element(*self.button_mysefl).click()self.driver.find_element(*self.username)except NoSuchElementException:logging.error(login Fail!)self.getScreenShot(login fail)return Falseelse:logging.info(login success!)self.logout_action()return Truedef logout_action(self):logging.info(logout_action)self.driver.find_element(*self.RightButton).click()self.driver.find_element(*self.logoutBtn).click()self.driver.find_element(*self.tip_commit).click()if __name__ __main__:driverappium_desired()lLoginView(driver)l.login_action(bjhg2019,bjhg2019)# l.login_action(bjhg2018,34454)l.check_loginStatus()
2.2注册页面业务逻辑封装
思路
1、首先定义封装一个注册类的视图
2、然后继承公共类的定位方法定位账号和密码等其他的输入框
3、在类中定义注册APP的注册状态的方法
4、在类中定义添加注册APP信息的方法
2.2.1registerView.py 2.2.2参考代码
# codingutf-8
# 1.先设置编码utf-8可支持中英文如上一般放在第一行# 2.注释包括记录创建时间创建人项目名称。Created on 2019-11-18
author: 北京-宏哥 QQ交流群707699217
Project:Appium自动化测试框架综合实践 - 代码实现# 3.导入模块
import logging,random
from kyb_testProject.common.desired_caps import appium_desired
from kyb_testProject.common.common_fun import Common,By,NoSuchElementExceptionclass RegisterView(Common):register_text(By.ID,com.tal.kaoyan:id/login_register_text)#头像设置相关元素userheader(By.ID,com.tal.kaoyan:id/activity_register_userheader)item_image(By.ID,com.tal.kaoyan:id/item_image)save(By.ID,com.tal.kaoyan:id/save)#用户名密码邮箱相关元素register_username (By.ID, com.tal.kaoyan:id/activity_register_username_edittext)register_password (By.ID, com.tal.kaoyan:id/activity_register_password_edittext)register_email (By.ID, com.tal.kaoyan:id/activity_register_email_edittext)register_btn (By.ID, com.tal.kaoyan:id/activity_register_register_btn)#完善资料界面元素perfectinfomation_school (By.ID, com.tal.kaoyan:id/perfectinfomation_edit_school_name)perfectinfomation_major (By.ID, com.tal.kaoyan:id/activity_perfectinfomation_major)perfectinfomation_goBtn (By.ID, com.tal.kaoyan:id/activity_perfectinfomation_goBtn)#院校相关元素forum_title (By.ID, com.tal.kaoyan:id/more_forum_title)university (By.ID, com.tal.kaoyan:id/university_search_item_name)#专业相关元素major_subject_title (By.ID, com.tal.kaoyan:id/major_subject_title)major_group_title (By.ID, com.tal.kaoyan:id/major_group_title)major_search_item_name (By.ID, com.tal.kaoyan:id/major_search_item_name)#用户中心相关元素button_mysefl (By.ID, com.tal.kaoyan:id/mainactivity_button_mysefl)username (By.ID, com.tal.kaoyan:id/activity_usercenter_username)def register_action(self,register_username,register_password,register_email):self.check_cancelBtn()self.check_skipBtn()logging.info(register_action)self.driver.find_element(*self.register_text).click()logging.info(set userhead)self.driver.find_element(*self.userheader).click()self.driver.find_elements(*self.item_image)[10].click()self.driver.find_element(*self.save).click()logging.info(username is %s%register_username)self.driver.find_element(*self.register_username).send_keys(register_username)logging.info(password is %s % register_password)self.driver.find_element(*self.register_password).send_keys(register_password)logging.info(email is %s % register_email)self.driver.find_element(*self.register_email).send_keys(register_email)self.driver.find_element(*self.register_btn).click()try:self.driver.find_element(*self.perfectinfomation_school)except NoSuchElementException:logging.error(register fail !)self.getScreenShot(register fail)return Falseelse:self.add_register_info()if self.check_register_status():return Trueelse:return Falsedef add_register_info(self):logging.info(add_register_info)logging.info(select school...)self.driver.find_element(*self.perfectinfomation_school).click()self.find_elements(*self.forum_title)[1].click()self.find_elements(*self.university)[1].click()logging.info(select major...)self.driver.find_element(*self.perfectinfomation_major).click()self.driver.find_elements(*self.major_subject_title)[1].click()self.driver.find_elements(*self.major_group_title)[2].click()self.driver.find_elements(*self.major_search_item_name)[1].click()self.driver.find_element(*self.perfectinfomation_goBtn).click()def check_register_status(self):logging.info(check_register_status)self.check_market_ad()try:self.driver.find_element(*self.button_mysefl).click()self.driver.find_element(*self.username)except NoSuchElementException:logging.error(register fail!)self.getScreenShot(register fail)return Falseelse:logging.info(register success!)return Trueif __name__ __main__:driverappium_desired()registerRegisterView(driver)username bjhg2019 fly str(random.randint(1000, 9000))password bjhg2019 str(random.randint(1000, 9000))email bjhg str(random.randint(1000, 9000)) 163.comregister.register_action(username,password,email)
3.小结 好了今天由于时间的关系就分享就到这里宏哥这里着重实现了两个业务模块其他业务模块你可以照猫画虎的就可以轻易地实现了。感谢您耐心的阅读