python自動化--mock、webservice及webdriver模擬手機瀏覽器


一、mock實現

自定義一個類,用來模擬未完成部分的開發代碼

1 class Say():
2 
3     def say_hello(self):
4         pass

自定義返回值

 1 import unittest
 2 from unittest import mock
 3 from d4231 import Say      #自定義類的py文件名,say為類名
 4 
 5 class TestSay(unittest.TestCase):
 6     def test_say(self):
 7         s = Say()
 8         #return_value定義方法的返回值
 9         s.say_hello=mock.Mock(return_value="還沒有開發完成先然后這個吧")
10         #無論s.say_hello()是否傳參,mock返回的都是上面已設定的值
11         result = s.say_hello()
12 
13         try:
14             self.assertEqual(result,"還沒有開發完成先然后這個吧")
15             print("成功,result=",result)
16         except AssertionError as e:
17             print("失敗",str(e))
18 
19 # unittest.main  #默認執行以test開頭的方法
20 ts = TestSay()
21 ts.test_say()

二、webservice實現

Python處理webservice

 1 from suds.client import Client
 2 
 3 ws_url = "http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl"
 4 Client = Client(ws_url)
 5 # print(Client)
 6 #如果有多個參數可以以key=value形式編寫,qqOnlineWebServiceSoap為服務名,qqCheckOnline為方法名
 7 resulte = Client.service["qqOnlineWebServiceSoap"].qqCheckOnline(qqCode="809773385")
 8 print(resulte)
 9 
10 #如果只有一個參數可以這樣編寫
11 resulte = Client.service.qqCheckOnline("809773386")
12 print(resulte)

 三、webdriver模擬手機瀏覽器

 1 from selenium import webdriver
 2 from time import sleep
 3 #設置
 4 mobileEmulation = {'deviceName': 'iPhone 6'}
 5 options = webdriver.ChromeOptions()
 6 options.add_experimental_option('mobileEmulation', mobileEmulation)
 7 #啟動driver
 8 # driver=webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options)
 9 driver=webdriver.Chrome(chrome_options=options)
10 #訪問百度wap頁
11 driver.get('http://m.baidu.com')
12 sleep(3)
13 driver.quit()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM