测试场景
1.进入注册界面设置头像
2.输入注册信息:用户名、密码、邮箱
3.完善院校和专业信息 (院校:上海-同济大学 专业:经济学类-统计学-经济统计学)
4.完成注册
代码实现
capability.py
from appium import webdriver
from selenium.common.exceptions import NoSuchElementException
desired_caps={}
desired_caps['platformName']='Android'
# desired_caps['deviceName']='127.0.0.1:62025'
# desired_caps['platforVersion']='5.1.1'
desired_caps['deviceName']='JDN-W09'
desired_caps['platforVersion']='6.0.1'
desired_caps['udid']='7YRBBDB7B0702188'
desired_caps['app']=r'C:\Users\bella\Desktop\20180922\kaoyan3.1.0.apk'
desired_caps['appPackage']='com.tal.kaoyan'
desired_caps['appActivity']='com.tal.kaoyan.ui.activity.SplashActivity'
desired_caps['noReset']='false' #模拟用户非首次启动
desired_caps['unicodeKeyboard']="true" #登录用了中文,代码要做配置
desired_caps['resetKeyboard']="true" #重置键盘也要设置为true
driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
driver.implicitly_wait(2)
def check_cancelBtn():
print('check cancelBtn')
try:
cancelBtn = driver.find_element_by_id('android:id/button2') #查找这个元素
except NoSuchElementException:
print('no cancelBtn') #当没有这个元素就打印出no cancelBtn
else:
cancelBtn.click() #存在这个元素就去点击
def check_skipBtn():
print("check_skipBtn")
try:
skipBtn = driver.find_element_by_id('com.tal.kaoyan:id/tv_skip')
except NoSuchElementException:
print('no skipBtn')
else:
skipBtn.click()
check_cancelBtn()
check_skipBtn()
kyb_register.py
from find_element.capability import driver
import random #导入随机函数
driver.find_element_by_id('com.tal.kaoyan:id/login_register_text').click()#点击注册按钮
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_userheader').click()#点击头像
images=driver.find_elements_by_id('com.tal.kaoyan:id/item_image') #获取图片的id
images[2].click()#选取的是第2张图片,所以下标是2
driver.find_element_by_id('com.tal.kaoyan:id/save').click()#获取保存按钮的id
username='kyb2018'+'KYB'+str(random.randint(1000,9000)) #注册用户名,后面4位是随机数
print('username:%s' %username) #打印出注册的用户名
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_username_edittext').send_keys(username)#得到注册用户名这个元素的id
password='kyb2018'+'KYB'+str(random.randint(1000,9000))#输入密码,后面4位是随机数
print('password %s' %password) #打印出密码
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_password_edittext').send_keys(password)#得到密码这个元素的id
email='kyb'+str(random.randint(1000,9000))+'@163.com'#输入密码,后面是随机数
print('email: %s' %email)#打印出邮箱
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_email_edittext').send_keys(email)#得到邮箱的id
driver.find_element_by_id('com.tal.kaoyan:id/activity_register_register_btn').click()#点击立即注册
#院校选择
driver.find_element_by_id('com.tal.kaoyan:id/perfectinfomation_edit_school_name').click()
driver.find_elements_by_id('com.tal.kaoyan:id/more_forum_title')[1].click()#获取上海的id
driver.find_elements_by_id('com.tal.kaoyan:id/university_search_item_name')[1].click()#获取同济大学这个元素的id
#专业选择
driver.find_element_by_id('com.tal.kaoyan:id/activity_perfectinfomation_major').click()
driver.find_elements_by_id('com.tal.kaoyan:id/major_subject_title')[1].click()#获取经济学这个元素的id
driver.find_elements_by_id('com.tal.kaoyan:id/major_group_title')[2].click()#获取统计学这个元素的id
driver.find_elements_by_id('com.tal.kaoyan:id/major_search_item_name')[1].click()#获取经济统计学这个元素的id
#进入考研帮
driver.find_element_by_id('com.tal.kaoyan:id/activity_perfectinfomation_goBtn').click()
注意:运行前记得将noRest设置为:desired_caps[‘noReset’]=‘False’ 以免之前的注册残留信息干扰。