激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python分類測試代碼實例匯總

Python分類測試代碼實例匯總

2020-07-23 23:03bashliuhe Python

這篇文章主要介紹了Python分類測試代碼實例匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1.自動化測試里面的測試用例設計的一些方法

解耦、可以獨立運行、需要靈活切換

設計思路: 腳本功能分析(分步驟)和模塊化分層(拆分為多模塊)

project

login_order.py #登錄下單測試用例
category.py #菜單分類測試用例

all_test.py #主入口

login_order.py

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# -*- coding: UTF-8 -*-
import unittest
import time
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
 
 
class LoginOrderTestCase(unittest.TestCase):
  def setUp(self):
    print("測試開始")
    self.driver = webdriver.Firefox()
    self.driver.implicitly_wait(20)
    self.base_url = "https://xdclass.net"
    self.driver.get(self.base_url)
 
  def tearDown(self):
    print("單個測試用例結束")
    pass
    #單個測試用例結束
  
  def test_login_order(self):
    u"登錄測試用例"
    driver = self.driver
    #登錄框
    login_ele = driver.find_element_by_css_selector("#login")
    ActionChains(driver).click(login_ele).perform()
 
    sleep(2)
    #查找輸入框,輸入賬號,輸入框要提前清理里面的數據
    driver.find_element_by_id("phone").clear()
    driver.find_element_by_id("phone").send_keys("13113777338")
    #查找密碼輸入框,輸入密碼
    driver.find_element_by_id("pwd").clear()
    driver.find_element_by_id("pwd").send_keys("123456789")
 
    #拿到登錄按鈕
    login_btn_ele = driver.find_element_by_css_selector("button.login")
    #觸發點擊事件,登錄
    login_btn_ele.click()
    #判斷登陸是否成功,邏輯-》鼠標移到上面,判斷彈窗字符
    #獲取鼠標上移的元素
    user_info_ele = driver.find_element_by_css_selector(".user_head_portrait")
    sleep(1)
    #hover觸發
    ActionChains(driver).move_to_element(user_info_ele).perform()
    sleep(1)
    #獲取用戶名稱元素
    user_name_ele = driver.find_element_by_css_selector(".img_name > span:nth-child(2)")
    print("===測試結果==")
    print(user_name_ele.text)
 
    name = user_name_ele.text
    #self.assertEqual(name, u"二當家小D",msg="登錄失敗")
 
    video_ele = driver.find_element_by_css_selector("div.hotcourses:nth-child(3) > div:nth-child(2) > div:nth-child(1) > ul:nth-child(1) > li:nth-child(1) > a:nth-child(1) > div:nth-child(1) > img:nth-child(1)")
    video_ele.click()
    sleep(2)
 
    buy_btn_ele = driver.find_element_by_css_selector(".learn_btn > a:nth-child(1)")
 
    buy_btn_ele.click()
    print("進入下單頁面")
    
if __name__ == '__main__':
    unittest.main()

category.py

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# -*- coding: UTF-8 -*-
import unittest
import time
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
 
class CategoryTestCase(unittest.TestCase):
  def setUp(self):
    print("測試開始")
    self.driver = webdriver.Firefox()
    self.driver.implicitly_wait(20)
    self.base_url = "https://xdclass.net"
    self.driver.get(self.base_url)
 
 
  def tearDown(self):
    print("測試結束")
    #單個測試用例結束
    self.driver.quit()
 
  def test_menu(self):
    u"彈出菜單測試用例"
    driver = self.driver
    #跳轉網頁
    sleep(1)
 
    #定位到鼠標移動到上面的元素
    menu_ele = driver.find_element_by_css_selector("#banner_left_ul > a:nth-child(1) > li:nth-child(1) > span:nth-child(1)")
 
    #對定位到的元素執行鼠標移動到上面的操作
    ActionChains(driver).move_to_element(menu_ele).perform()
    sleep(2)
    #選中子菜單
    sub_meun_ele = driver.find_element_by_css_selector("#des > li:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > a:nth-child(1)")
 
    sub_meun_ele.click()
    sleep(2)
 
 
if __name__ == '__main__':
  unittest.main()

all_test.py

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# -*- coding: UTF-8 -*-
import unittest
import HTMLTestRunner
import login_order ,category
import time
 
#創建測試集合 
def create_suite():
  print("測試開始")
  suite = unittest.TestSuite()
  suite.addTest(unittest.makeSuite(login_order.LoginOrderTestCase))
  suite.addTest(unittest.makeSuite(category.CategoryTestCase))
  return suite
   
 
if __name__ == '__main__':
  suite = create_suite()
 
  #文件名中加了當前時間,為了每次生成不同的測試報告
  file_prefix = time.strftime("%Y-%m-%d %H_%M_%S", time.localtime())
 
  #創建測試報告,此時這個文件還是空文件 wb 以二進制格式打開一個文件,只用于寫入,如果文件存在則覆蓋,不存在則創建
  fp = open("./"+file_prefix+"_result.html","wb")
  
  # stream定義一個測試報告寫入的文件,title就是標題,description就是描述
  runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"小D課堂 測試報告",description=u"測試用例執行情況",verbosity=2)
  runner.run(suite)
  fp.close()

 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/bashliuhe/p/13284063.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一级黄色欧美 | 欧美国产免费 | 精品免费在线视频 | av7777777 | 久久精品综合视频 | 欧美一级视频免费看 | 国产午夜精品在线 | 国产精品成人一区二区三区电影毛片 | 青青草免费观看 | 99亚洲视频 | 日产精品一区二区三区在线观看 | 久草在线网址 | 久久国产精品小视频 | 日韩视频一区二区在线观看 | 欧美黄色性视频 | 精品一区二区免费 | 欧美视频在线观看一区 | 国产成年人网站 | 摸逼逼视频 | 一级观看免费完整版视频 | 日韩视频在线不卡 | 成人福利在线观看 | 亚洲国产综合在线观看 | 免费欧美精品 | 免费在线看黄 | 久久爽久久爽久久av东京爽 | 欧美日韩国产综合网 | 91精品国产99久久久久久红楼 | 91成人免费在线观看 | 久久精品国产一区二区电影 | 国产精品久久在线观看 | 久久精品久久久久 | 蜜桃av鲁一鲁一鲁一鲁 | 欧美成人午夜 | chinese xvideos gay| 亚洲人成网站在e线播放 | 午夜精品福利影院 | 99视频网址| 欧美黄色大片免费观看 | 国产porn在线 | 色就色 综合偷拍区91网 |