1. 程式人生 > >python+selenium實現網頁測試自動化

python+selenium實現網頁測試自動化

很久沒有寫新文章了,去年入職了新公司,每天都忙的很,新鮮的人,新鮮的事物,新鮮的技術,終於有了一種成為程式猿的感覺了。

今天貼一點程式碼出來,順便種草一個自動化網頁測試框架selenium,真的非常不錯,學習成本不高,但是一旦瞭解,你會發現他真的可以做很多的東西。比如批量下載某個網站的歌曲之類的,你們就自行研究吧。

下面的程式碼省略的部分內容,寫的也不是特別的好,隨便看看就行。

#coding=utf-8
import datetime
import time
import selenium
import sys

from selenium import webdriver
# 選擇元素使用
from selenium.webdriver.common.by import By
# 滑鼠操作
from selenium.webdriver.common.action_chains import ActionChains
# 鍵盤操作
from selenium.webdriver.common.keys import Keys
# 引入元素等待
from selenium.webdriver.support.ui import WebDriverWait
#
from selenium.webdriver.support import expected_conditions as EC

def getNow():
	dateStr = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') #現在
	return str(dateStr)

selfChromeOptions = webdriver.ChromeOptions();
selfChromeOptions.add_argument('disable-infobars');
selfChromeOptions.add_argument("--start-maximized");
selfChromeOptions.add_argument('--kiosk');
driver = webdriver.Chrome(chrome_options=selfChromeOptions);

#try:
if True:
	driver.get(true_url);
	print("go into page ok");

	if not test_prop:
		driver.find_element_by_id('username').send_keys("");
		driver.find_element_by_id('password').send_keys('');
		driver.find_element_by_class_name("formsubmit_btn").click();
		print("login ok");

	time.sleep(3);

	skip_task = False

	target = -1
	while True:
		target = target + 1
		driver.refresh()
		time.sleep(3)

		if target > 7:
			break

		ul = driver.find_element_by_xpath('//*[@id="workTree"]/ul');
		li_list = ul.find_elements_by_tag_name('li');
		for li in li_list:
			if str(li.text).find('mlprice') == -1:
				continue;
			print(getNow(),'左側根樹',li.text)
			if str(li.text).find('_' + str(target)) == -1:
				continue;
			time.sleep(1)
			li.find_elements_by_tag_name('ins')[0].click()
			time.sleep(1)
			if True:
				workUl = li.find_elements_by_tag_name('ul')
				time.sleep(1)
				workLi_list = workUl[0].find_elements_by_tag_name('li');
				for workLi in workLi_list:
					if str(workLi.text).find('snk_') == -1:
						continue;
					print(getNow(),'左側葉子',workLi.text,'根樹標識',target)
					if skip_task and target == 4 and str(workLi.text).find('snk_price') == -1:
						continue
					else:
						skip_task = False
					workLi.find_elements_by_tag_name('a')[0].click();
					running_task_div = driver.find_element_by_id('showRunning');
					time.sleep(1)
					per_running_task_div_list = running_task_div.find_elements_by_tag_name('div')
					# 實現補償,保證開關的狀態
					supplement = 1
					while supplement > 0:
						if supplement != 1:
							print(getNow(),'補償任務',supplement)
						supplement = supplement - 1
						tmp_supplement = supplement
						for per_running_task_div in per_running_task_div_list:
							if str(per_running_task_div.text).find('snkWk') == -1:
								continue;
							if str(per_running_task_div.get_attribute('class')) == 'message-list':
								continue;
							per_worker_switch = per_running_task_div.find_elements_by_tag_name('input')[0]
							per_worker_switch_status = str(per_worker_switch.get_attribute('oldval'))
							if per_worker_switch_status == 'false':
								per_running_task_div_span = per_running_task_div.find_element_by_class_name('summary')
								print('右側單個任務',per_running_task_div_span.text)
								print('右側開關狀態',per_worker_switch_status);
								per_worker_switch.click();
								supplement = supplement + 1
								time.sleep(1)
						if tmp_supplement == supplement:
							supplement = supplement - 2
			time.sleep(2)

	time.sleep(5);

driver.quit();


相關推薦

python+selenium實現網頁測試自動化

很久沒有寫新文章了,去年入職了新公司,每天都忙的很,新鮮的人,新鮮的事物,新鮮的技術,終於有了一種成為程式猿的感覺了。 今天貼一點程式碼出來,順便種草一個自動化網頁測試框架selenium,真的非常不錯,學習成本不高,但是一旦瞭解,你會發現他真的可以做很多的東西。比

Python+Selenium前端頁面測試自動化

(selenium學習日誌一) 【找元素】 學習selenium,個人的感覺是主要任務在【找元素】。而對於查詢頁面元素,有以下幾個方法: find_element(self, by=By.ID, value=None)                   #需要 impor

一隻自動化測試小白的學習記錄——Python+Selenium網頁視窗切換

 本次實驗在Python IDLE中進行操作 可以比較直觀地看到網頁切換的狀態(●ˇ∀ˇ●)1.首先,在百度中搜索“鏈家" ,並以find_element_by_link_text的方法開啟“鏈家”的官方網站首頁(OK,那麼現在已經有兩個網站頁面了,第一個是百度搜索的結果頁面

在Linux下實現Python+selenium+chrome的web自動化測試

宣告:ubuntu版本是在16.04下進行的 1、首先需要先安裝Chrome sudo apt-get install libxss1 libappindicator1 libindicator7 wget https://dl.google.com/linux/direc

Python中使用 Selenium 實現網頁截圖實例

firefox bre ins screens n) odi body 加載 ive Selenium 是一個可以讓瀏覽器自動化地執行一系列任務的工具,常用於自動化測試。不過,也可以用來給網頁截圖。目前,它支持 Java、C#、Ruby 以及 Python 四種客戶端語言。

Python+Selenium個人網頁自動化點贊

對於一個網頁,我們不能連續點贊,測試發現是網頁通過cookie實現的點贊限制。當進入網頁時該網頁會在本地PC存放一個cookie值,當點選點贊按鈕時會向伺服器返回本地cookie存放的值,如果返回到伺服

DJANGO+PYTHON+SELENIUM實現版本釋出後,呼叫自動化指令碼來驗證釋出釋出環境

背景:公司在釋出版本的時候,需要維護幾百臺伺服器,往每個伺服器上面部署相同的應用。釋出完成後,需要測試對每個環境進行相同的環境,目前的測試驗證是手工進行的。最近公司要實現這麼個功能,讓我自動化處理環境驗證,並且要保證效率(就是併發咯),執行完成後把結果傳送給相關人員。釋出版

一個基於python+selenium的page-object自動化測試框架

先上框架git連結:https://gitee.com/yukarijiang/watcher#0-qzone-1-79223-d020d2d2a4e8d1a374a433f596ad1440這個框架目前才剛剛起步,還有很多不完善和不適當的地方,但可以用於學習selenium

一次完整的自動化登入測試-基於python+selenium進行cnblog的自動化登入測試

Web登入測試是很常見的測試!手動測試大家再熟悉不過了,那如何進行自動化登入測試呢!本文作者就用python+selenium結合unittest單元測試框架來進行一次簡單但比較完整的cnblog自動化登入測試,給大家提供點參考!下面就包括測試程式碼和每種測試情況的截圖:

Python中使用 Selenium 實現網頁截圖例項

Selenium 是一個可以讓瀏覽器自動化地執行一系列任務的工具,常用於自動化測試。不過,也可以用來給網頁截圖。目前,它支援 Java、C#、Ruby 以及 Python 四種客戶端語言。如果你使用 Python,則只需要在命令列裡輸入“sudo easy_install selenium”並回車,即可安

python+selenium個人開發的自動化測試框架

1、為什麼開發這個框架呢?      首先,自從做測試行業以來,沒有屬於自己的東西,功能測試這塊可以說沒有什麼技術性的積累,都是經驗;效能測試方面,用過jmeter、loadrunner,積累的經驗比較淺薄;自動化測試接觸過java+selenium; 在網上或者測試行業現

python3+selenium+unitest+HtmlTestRunner實現網頁功能自動化流程

1.selenium+HtmlTestRunner模組安裝匯入2.對應版本     谷歌瀏覽器和谷歌驅動chromedriver.exe的下載(不適用對應版本會報錯,無法呼叫瀏覽器)3.程式碼執行成功後,生成Html功能自動化測試報告import os import sys

一隻自動化測試小白的學習記錄——Python+Selenium基於Web的自動化測試(例項練習)

也有兩天沒更新了 哎~這學期的課還挺多的 都是利用課餘的一些時間來學習自動化測試(抱怨臉(╯▔皿▔)╯)這兩天我在練習的是一個相對完整的Web自動化測試,也是對前些日子學習內容的整合,具體來說如下:1.開啟瀏覽器2.輸入網址開啟網頁(我是以鏈家網為練習的,因為想到明年畢業後要

python+selenium實現登錄賬戶

n) handles href -s cep 2.0 port parent dex selenium 是一套完整的web應用程序測試系統,包含了測試的錄制(selenium IDE),編寫及運行(Selenium Remote Control)和測試的並行處理(Selen

[python]pytest實現WEB UI自動化

測試報告 組合 cti 實現思路 www text 增加 .com 工程 前言:其實這篇寫的是pytest的測試框架運用,實現自動化和https://www.cnblogs.com/Jack-cx/p/9357658.html 原理一致 1.為啥不用unittest P

python selenium中如何測試360等基於chrome內核的瀏覽器

desire 2個 des pat 直接 self 方法 .com spl 轉自:https://blog.csdn.net/five3/article/details/50013159 直接上代碼,註意是基於chrome內核的瀏覽器,基於ie的請替換其中的chro

Jenkins+ant+jmeter實現效能測試自動化

jmeter 過段時間寫 jenkins搭建簡單寫了一篇 簡單介紹下ant:  Apache Ant 是由 Java 語言開發的,是一個將軟體編譯,測試,部署等步驟聯絡在一起的自動化的工具。 下載並安裝Ant:  下載地址:https://ant.apache.org/bindown

python+selenium實現動態爬取及selenuim的常用操作

應用例項可以參考部落格中的12306自動搶票應用 https://www.cnblogs.com/mumengyun/p/10001109.html 動態網頁資料抓取 什麼是AJAX: AJAX(Asynchronouse JavaScript And XML)非同步JavaScript和XM

python + requests實現的介面自動化框架

1、首先,我們先來理一下思路。 正常的介面測試流程是什麼? 腦海裡的反應是不是這樣的: 確定測試介面的工具 —> 配置需要的介面引數 —> 進行測試 —> 檢查測試結果(有的需要資料庫輔助) —> 生成測試報告(html報告) 那麼,我們就

python+selenium+BSTestRunner生成測試報告

python版本是3.6 一、BSTestRunner.py檔案 """ A TestRunner for use with the Python unit testing framework. It generates a HTML report to show the res