测试场景
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’ 以免之前的注册残留信息干扰。

10-06 15:58