首頁 > Python教程 > Python應用 > 基于python全局設置id 自動化測試元素定位的方法分享

基于python全局設置id 自動化測試元素定位的方法分享

時間:2019-09-15    作者:橋南小院   來源:互聯網

背景:

在自動化化測試過程中,不方便準確獲取頁面的元素,或者在重構過程中方法修改造成元素層級改變,因此通過設置id準備定位。

一、python準備工作:

功能:用自動化的方式進行批量處理。 比如,你想要在大量的文本文件中執行查找/替換,或者以復雜的方式對大量的圖片進行重命名和整理。

語法用例:

#!/usr/bin/python //腳本語言的第一行,只對 Linux/Unix 用戶適用,用來指定本腳本用什么解釋器來執行,即:調用 /usr/bin 下的 python 解釋器,推薦使用#!/usr/bin/env python 會去環境設置尋找 python 目錄,可以增強代碼的可移植性,不要寫死路徑
 
print "Hello, World!" // 輸出內容

python script.py // 使用python變量調用腳本:#!/usr/bin/python 被忽略,等同于注釋
python3 hello.py // pyhton3版本執行
 ./script.py // 在python程序執行:#!/usr/bin/python 指定解釋器的路徑

中文編碼:Python3.X 源碼文件默認使用utf-8編碼,所以可以正常解析中文,無需指定 UTF-8 編碼。查看:python -V

#!/usr/bin/python
# -*- coding: UTF-8 -*- //默認的編碼格式是 ASCII 格式無法輸出漢字
 print "你好,世界";
#!/usr/bin/python3 // python3版本
 print("Hello, World!")

下載:Python官網:https://www.python.org/

設置環境變量(一般自動設置cmd):

path=%path%;C:\Python //注意: C:\Python 是指Python的安裝目錄

下面幾個重要的環境變量,它應用于Python:

 

變量名 描述
PYTHONPATH PYTHONPATH是Python搜索路徑,默認我們import的模塊都會從PYTHONPATH里面尋找。
PYTHONSTARTUP Python啟動后,先尋找PYTHONSTARTUP環境變量,然后執行此變量指定的文件中的代碼。
PYTHONCASEOK 加入PYTHONCASEOK的環境變量, 就會使python導入模塊的時候不區分大小寫.
PYTHONHOME 另一種模塊搜索路徑。它通常內嵌于的PYTHONSTARTUP或PYTHONPATH目錄中,使得兩個模塊庫更容易切換。

 

擴展:

1.集成開發環境(IDE:Integrated Development Environment): PyCharm

2.對于 Python 學習的新手來說,安裝 Anaconda 包管理軟件 是一個不錯的選擇

3.cmd 美化參考:https://zhuanlan.zhihu.com/p/31904974

二、實際應用:對指定元素添加id屬性

正則函數:

re.match(pattern, string, flags=0) // 參數說明:正則規則,字符串,標志位,如果字符串不符合正則表達式,則匹配失敗
re.search(pattern, string, flags=0) // 匹配整個字符串,直到找到一個匹配。

例:

#!/usr/bin/python3
import re 
line = "Cats are smarter than dogs"; // 貓比夠更小
 matchObj = re.match( r'dogs', line, re.M|re.I)
if matchObj:
  print ("match匹配 : ", matchObj.group()) // No match
else:
  print ("No match!!")
matchObj = re.search( r'dogs', line, re.M|re.I)
if matchObj:
  print ("search匹配: ", matchObj.group()) // dogs
else: print ("No match!!")

實例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
import re
import random
count=0
allbutton=set()
def buttonid(m):
  return "<el-button id='kp_but_%s' " % str(round(random.random()*10000))

for root, dirs, files in os.walk(".\src", topdown=False):
  for name in files:
    
    if os.path.splitext(name)[-1] == ".vue":
      
      # print( os.path.splitext(name)[-1])
      # print(name)
      filePath=os.path.join(root, name)
      file=open(filePath, mode='r+',encoding='UTF-8')
      content=file.read()
      searchObj=re.search( r'<el-button\s+', content, re.M|re.I)
      if searchObj:
        
        content = re.sub(r'<(el-button\s+)(?![a-zA-Z=\'\.;\%\-:"\[email protected]]*:?id=[a-zA-Z;=\'\.\%\-:"+$\[email protected]]*)',buttonid , content)
        count+=1
        # allbutton.add(searchObj.group())

        file=open(filePath, mode='w',encoding='UTF-8')
        lent=file.write(content)
        print(lent)
      else:
        print('None')
        
      # print(content)
  # for name in dirs:
  #   print(os.path.join(root, name))
print(count)

使用說明:

1.將當前文件test.py放在項目根目錄(與./src同級);

2.下載python執行該文件即可:

python test.py

以上就是本文的全部內容,希望對大家的學習有所幫助

相關推薦
用Python爬取B站5000 條視頻,揭秘為何千萬人為它流淚!
Python教程:如何用xlrd和xlwt庫讀和寫Excel表格?
Python安裝MySQL-python:EnvironmentError的解決辦法
分享:Python2和Python3有那些差異?
Python 的內置對象都藏了哪些小秘密?
實戰干貨!用案例讓你一文搞懂python網絡爬蟲
Python教程:圖像處理模塊ndimage用法實例分析
Python教程:代理IP爬蟲的使用方法
Python教程:如何使用scipy模塊實現一維卷積運算示例?
Python:關于內存分配時的那些小秘密分享
python技巧:global關鍵字的用法詳解
Python教程:深入了解python在HDA中的應用
python技巧:SSLerror的requests證書問題解決方法
PyCharm教程:搭建Spark開發環境的幾個步驟
Python開發技巧:openpyxl讀取單元格字體顏色過程解析
Python教程:面向對象之Web靜態服務器
Python教程:如何為終端提供持久性歷史記錄
Python技巧分享:自動登錄淘寶并保存登錄信息的方法
Python數據分析:利用Flask動態展示 Pyecharts 圖表數據方法
python3教程:如何搭建微型的web服務器?
python技巧:xlwt如何設置單元格的自定義背景顏色
如何解決Python字符串和正則表達式中的反斜杠('\')問題?
Python開發技巧:編寫一個簡單登錄功能過程解析
Python編程:postman傳遞當前時間戳實例詳解
Python爬蟲教程:使用beautifulSoup4爬取名言網案例代碼分享
python開發:動態遷移solr數據過程分享
python數據分析:用線性回歸預測股票價格的代碼分析
Python教程:數據分析模塊pandas用法詳解
Python3教程:pandas.merge用法詳解
Python爬蟲案例:如何爬取豆瓣電影信息?附代碼實例
python開發:如何編寫簡單端口掃描器?
Django框架教程:Pagination分頁實現代碼實例
python爬蟲實例:貓眼電影和電影天堂數據csv和mysql存儲過程
Python教程:實現TCP探測目標服務路由軌跡的原理與方法詳解

精彩推薦

熱門教程

北京pk10走势图下载 浙江福彩12选5开奖结果 大富豪手游棋牌官网 腾讯凤凰分分彩官网 河北11选5最新开奖结果 有没有一款自动赚钱的软件 北京赛车皇室彩 梦幻西游宝宝窝还能赚钱 贵州11选5牛人彩民 乐其彩票平台怎么样 可以提现的娱乐棋牌游戏 查2016年3d开奖号码 三板股票推荐