1. 程式人生 > >python+selenium自動化測試框架(1)

python+selenium自動化測試框架(1)

python+selenium自動化測試框架(1)

自己第一次寫部落格,一方面想提高自己的寫作能力,另一方面,自己花費時間解決的問題,記錄下來,以後要是忘記啦,可以隨時檢視,當然要是大家碰到和我一樣的問題,也是可以檢視的
我用的是python3.6

一:python中實現程式碼與資料的分離**

第一種方法:
利用yaml這個工具來實現資料與程式碼的分離
以下是程式碼的講解
from selenium import webdriver
#這一步是實現匯入yaml這個工具
import yaml
#這一步是開啟你所建立的yaml檔案,並且讀取它的內容
#還有就是python裡面讀取檔案是要寫完整的路徑的,不能寫一半
file=open(‘C:/appium/data/common.yaml’,‘r’)#需要注意的點就是/是這樣弄的,不要,
#這裡是利用了一個函式,load 載入檔案
data=yaml.load(file)
driver = webdriver.Chrome()
class open:
def test_open(self):
driver.get(data[‘url’])#這塊就是表示你所要的檔案資訊啦,這快讀取檔案的方式,是通過鍵值的方式來讀取的,跟字典有些想向
driver.implicitly_wait(10)
1.下面這個是yaml檔案的組建方式
在這裡插入圖片描述


第二種方式:
利用csv,來實現資料與程式碼的分離,適合登陸場景時,登陸:使用者名稱與密碼的分離
以下程式碼的實現:
from selenium import webdriver
import csv# 同理匯入csv
利用python語言實現開啟csv檔案,並且讀取它
csv_file=open(‘C:/appium/data/account.csv’,‘r’)
這裡在csv中用到的函式就是reader
csv_data=csv.reader(csv_file)
#這裡用到一個for迴圈,迴圈打印出這個csv檔案
for item in csv_data:
print(item) #我個人理解是除錯語言
driver = webdriver.Chrome()
def test_login(self):
driver.find_element_by_id(data[‘name_id’]).send_keys(item[0]) ###這裡和yaml是有區分的,他是通過檔案的行數,來讀取檔案,跟列表讀取方式很相近
driver.find_element_by_id(data[‘password_id’]).send_keys(item[1])
driver.find_element_by_class_name(data[‘login_id’]).click()
在這裡插入圖片描述

[ 在這裡插入圖片描述
上面的這個是csv呈現的方式:

注意點提醒:
1.這裡csv開啟是通過瀏覽器開啟的