python簡單實現自動化


我們先看大概的界面圖片:

  登陸界面:

  注冊界面:

  登陸后的界面:

  添加事物后的界面:

 

 

  接下來我們詳細的分析一下python的自動化代碼,有不對的地方希望大家指出

  

  register:注冊模塊(第一個模塊字符比較大)

# -*-coding:UTF-8 -*-
from selenium import webdriver
  #這里需要引入selenium庫,它是能夠幫助我們識別操控瀏覽器的庫
import os
  #OS是我們操作dos系統時需要引入的庫 os.system(
"taskkill /f /im chromedriver.exe")
  #殺死這個chromedriver進程,因為每次啟動都會打開,所以需要kill,這里用的chrome瀏覽器,打開方式時chromedriver.exe。需要放在代碼同一目錄下,不明白的可以搜索
driver
= webdriver.Chrome()

  '''webdriver的意思:
  Controls the ChromeDriver and allows you to drive the browser.
  You will need to download the ChromeDriver executable from
  http://chromedriver.storage.googleapis.com/index.html
  這里的意思是:webdriver的意思是控制ChromeDriver和驅動瀏覽器,需要下載chromediriver驅動,需要注意對應版本。
  driver是一個類,可以理解我們得到了一個瀏覽器窗口
  '''
  
  #下面都是調用對象,對應的方法(不知什么是類和對象,可以去看看慕課網的廖雪峰老師的課) driver.get(
"http://172.27.35.4:8080/mt")
  #進入對應的網址,這里是我自己搭建的一個小項目 driver.maximize_window()
  #窗口最大化 driver.find_element_by_link_text(
"接口測試課程").click()   #找到網頁中的鏈接
  #點擊 driver.find_element_by_link_text(
"點擊..").click() driver.find_element_by_id("firstName").send_keys("jie")
  #
find_element_by_id()找到網頁中的id
  #send_keys()傳值
 driver.find_element_by_id("lastName").send_keys("feng") driver.find_element_by_id("userName").send_keys("fengjie") driver.find_element_by_id("email").send_keys("fengjie@163.com") driver.find_element_by_id("password").send_keys("111") driver.find_element_by_xpath("//button[@type='submit']").click()
  #通過xpath查找元素,如果不了解,可以先去學習html基礎,推薦菜鳥教程。

login:登陸模塊

# -*-coding:UTF-8 -*-

from selenium import webdriver
from pymysql import connect
  #這里需要引入python調用數據的庫
import os os.system("taskkill /f /im chromedriver.exe") driver = webdriver.Chrome() driver.get("http://172.27.35.4:8080/mt") driver.maximize_window() driver.find_element_by_link_text("接口測試課程").click() conn = connect(host='172.27.35.4', user='root',database='scott', port=3306)
  #這里是連接數據庫,輸入對應的數據。不知道有哪些參數,可以看源碼,我看了一下參數太多了,這里就不列出來了 cursor
=
conn.cursor()
  
"""Create a new cursor to execute queries with
  cursor是方法
"""這是cursor的注釋,我們可以理解為實例化一個游標來執行查詢
"""

query
= "select * from userinfo where user_name='fengjie'"
  #定義一個變量,其實就是我們要進行查詢的語句,不記得了推薦菜鳥教程學習哈。
cursor.execute(query)
  #execute()是cursor的方法,執行sql語句,我們通過query傳參,傳入sql語句,得到的結果我們放在了游標里面 result
= cursor.fetchall()   #將游標的結果一行一行的輸出到result中,result變成了一個二維列表 driver.find_element_by_id("j_username").send_keys(result[0][5])
  #選擇數據中的姓名字段,輸入數據 driver.find_element_by_id(
"j_password").send_keys(result[0][4])
  #選擇數據中的密碼字段,輸入密碼 driver.find_element_by_xpath(
"//button[@type='submit']").click()
  #點擊提交

add:添加事務模塊

# -*-coding:UTF-8 -*-

from pymysql import connect
from selenium import webdriver
from selenium.webdriver.support.select import Select
import os

os.system("taskkill /f /im chromedriver.exe")
driver = webdriver.Chrome()
driver.get("http://192.168.5.3/mt")
driver.maximize_window()
driver.find_element_by_link_text("接口測試課程").click()

conn = connect(host='192.168.5.3', user='root',
                 database='scott', port=3306)
cursor = conn.cursor()

query = "select * from userinfo  where user_name='fengjie'"
cursor.execute(query)
result = cursor.fetchall()

driver.find_element_by_id("j_username").send_keys(result[0][5])
driver.find_element_by_id("j_password").send_keys(result[0][4])
driver.find_element_by_xpath("//button[@type='submit']").click()

username = result[0][5]

query = "delete from todo where user_name=(select id from userinfo where user_name='%s')" % username
#刪除todo表中的數據,里面是添加的事務,因為我們要驗證添加是否成功,所以要先刪除原有的事務
cursor.execute(query)
#執行 conn.commit() #提交 driver.find_element_by_id("inputName").send_keys("caichang_test") Select(driver.find_element_by_id('priority')).select_by_value('MEDIUM')
#選擇網頁中的下拉框 driver.find_element_by_xpath("//input[@is-open='opened']").send_keys("20-June-2019")
#選擇輸入日期,xpath方法 driver.find_element_by_xpath("//button[@ng-click='isOpen = false']").click()
#點擊確定 driver.find_element_by_xpath("//button[@type='submit']").click()
#點擊提交 query2 = "select count(*) from userinfo,todo where userinfo.id=todo.user_name and userinfo.user_name='%s'" % username cursor.execute(query2) result2 = cursor.fetchmany()
#查詢插入的數據 # 在實際工作中,要寫入excel或其他文件中等,還要納入日志等 if result2[0][0] == 1: print "測試成功" else: print "測試失敗" driver.quit()

  


免責聲明!

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



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