Android程序员帮同事解决一个小问题才开始接触Python代码的,作为笔记直接粘代码。
#/usr/bin/pyhton
#encoding:utf-8
from appium import webdriver
import time
import unittest
class MyTestCase(unittest.TestCase):
def setUp(self):
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '8.0.0'
desired_caps['deviceName'] = 'MKJNW18331006021'
desired_caps['appPackage'] = 'xxxxxxx'
desired_caps['appActivity'] = 'xxx.xxxx.xxxxx.xxxActivity'
# desired_caps['appWaitActivity'] = 'xxx.xxxxxx.xxxxxxxx.xxxxxxxxxActivity'
desired_caps['unicodeKeyboard'] = 'True'
desired_caps['resetKeyboard'] = 'True'
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
time.sleep(1)
def test_dengluchenggong(self):
self.driver.find_element_by_id("username").click()
self.driver.find_element_by_id("username").click()
time.sleep(1)
self.driver.find_element_by_id("username").send_keys("xxxx")
time.sleep(1)
self.driver.find_element_by_id("password").click()
self.driver.find_element_by_id("password").send_keys("xx")
time.sleep(1)
self.driver.find_element_by_id("login_btn").click()
time.sleep(1)
try:
if self.driver.find_element_by_id("login_btn").is_displayed():
exist = True
except Exception as i:
#print i
exist = False
print "pass"
self.assertEqual(exist,False)
#time.sleep(1)
def test_denglushibai(self):
self.driver.find_element_by_id("username").click()
self.driver.find_element_by_id("username").click()
time.sleep(1)
self.driver.find_element_by_id("username").send_keys("xxxx1")
time.sleep(1)
self.driver.find_element_by_id("password").click()
self.driver.find_element_by_id("password").send_keys("xx")
time.sleep(1)
self.driver.find_element_by_id("login_btn").click()
try:
if self.driver.find_element_by_id("login_btn").is_displayed():
exist = True
print('shibai')
except Exception as i:
print i
#exist = True
self.assertEqual(exist,True)
time.sleep(1)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
复制代码
上面的功能是测试登录功能是否好用,判断的依据是,如果登录成功那么登录按钮将会在屏幕上找不到,如果登录失败,那么登录按钮还会存在。
self.driver.find_element_by_id("login_btn").is_displayed()复制代码
这句话的意思就是判断登录按钮是否存在,当不存在时,调用这句话会抛出异常,这时执行到except 里面。打印登录成功。如果存在那么就不会执行到except里面,打印登陆失败。