六、用戶登陸成功,跳轉到xxxxx頁面
有的小朋友說這樣太麻煩了,其實這還不算標準的,其實咱們還有不少的東西沒有寫出來。好比你是否是應該在第6條後面再加一條斷言呢?登陸成功沒呢?登陸後跳轉的頁面對不呢?登陸後的用戶信息對嗎?這些你都要考慮進去,若是出現串cookie的狀況因此這些都是必要的!最後小夥伴們都問了那咱們是否是這樣將用例翻譯成腳本就好了呢?答案確定是否認呢?你以爲這樣的腳本有用嗎?我以爲沒有!由於這腳本沒有可用性,沒有可維護性。why?若是我要換一個賬號登陸你怎麼辦?不斷更改?若是元素id變了呢?這有複用性嗎?分享當時小夥伴們怒了,那這自動化根本就沒用還麻煩。答案實際上是否認的,只是咱們方式不對而已。按照剛纔的翻譯出來是這樣。
from selenium import webdriver
#一、打開Firefox()瀏覽器
dr = webdriver.Firefox()
#三、在id爲username的用戶欄輸入正確的用戶賬號:xxxxxxx
dr.find_element_by_id("username").send_keys("xxxxxx")
#四、在id爲password的密碼欄輸入正確的密碼:xxxxxx
dr.find_element_by_id("password").send_keys("xxxxxx")
#五、點擊id爲login的「登陸」按鈕
dr.find_element_by_id('login').click()
#六、用戶登陸成功,跳轉到xxxxx頁面
assert"xxxx" in dr.title #'xxxx'是否在title裏面 也能夠添加其餘的斷言
草草的寫了一下最後的一個登陸測試腳本 應該是這樣的:
from selenium import webdriver
import unittest
class TestLogin(unittest.TestCase):
dr = None
def setUp(self):
print 'test start'
self.dr = webdriver.Firefox()
def tearDown(self):
self.dr.quit()
def test_Login(self):
username = 'sssss'
password = 'xxxxx' #能夠調用外面的
self.dr.get(self.Login_url)
self.login(username,password)
t = self.dr.find_element_by_id('login') #查找元素爲login的東西 登陸後的
self.assertTrue(username in t.text) #斷言
pass
def login(self,user,pwd):
#三、在id爲username的用戶欄輸入正確的用戶賬號:xxxxxxx
self.dr.find_element_by_id("username").send_keys(user)
#四、在id爲password的密碼欄輸入正確的密碼:xxxxxx
self.dr.find_element_by_id("password").send_keys(pwd)
#五、點擊id爲login的「登陸」按鈕
self.dr.find_element_by_id('login').click()
if __name__ == '__main__':
unittest.main()
一個登陸的自動化測試用例就是這樣的(完成度95%)。 性能測試須要的東西不少暫時先提一下:開發語言(方便些性能腳本)、中間件知識、服務器知識、數據庫知識、網絡知識這些差很少都須要會。因此這不是簡單活,後面簡單說下,睡覺了!