python web自动化测试实验报告_Python:web自动化测试
用selenium包。
# -*- coding: utf-8 -*-
# 說明: 當前的瀏覽器驅動用的是edge瀏覽器.
# 需要下載瀏覽器驅動,并把它的路徑添加到環境變量
from selenium import webdriver
import time
driver = webdriver.Edge()
homepage_url = 'http://10.180.10.93:8000/'
driver.get(homepage_url)
driver.quit()
打開xx頁面
nodes = driver.find_elements_by_tag_name('a')
driver.maximize_window()
driver.implicitly_wait(6)? ?# zhe'shi'shen'm
和dom找元素很像
nodes = node[0],然后node.click()模擬鼠標點擊。
前進、后退
driver.forward()
driver.back()
if node.get_attribute('target') == '_blank': # 如果是 _target = blank 的話,打開新的選項卡(標簽),隨后關閉它
node.click()
time.sleep(SLEEPING_SECOND)
assert driver.title == EXPECTED_TITLE
windows = driver.window_handles
driver.switch_to.window(windows[1])
driver.close()
driver.switch_to.window(windows[0])
測試把網頁上所有的鏈接都點一變。
# -*- coding: utf-8 -*-
# 說明: 當前的瀏覽器驅動用的是edge瀏覽器.
# 需要下載瀏覽器驅動,并把它的路徑添加到環境變量
from __future__ import print_function
from selenium import webdriver
import time
driver = webdriver.Edge()
homepage_url = 'http://10.180.10.93:8000/'
SLEEPING_SECOND = 1
driver.get(homepage_url)
time.sleep(SLEEPING_SECOND)
url_visited = set()
# 不需要訪問的頁面
url_filtered = {
'https://www.djangoproject.com/',
'https://purecss.io/',
'https://www.pgadmin.org/',
'http://quantlib.org/index.shtml',
'https://www.pgadmin.org/docs/',
'http://quantlib.org/quantlibaddin/extend_tutorial.html#extend_autogenerate',
'http://quantlib.org/quantlibxl/faq.html#faq_item_debugexcel',
'https://pypi.python.org/pypi',
'https://www.anaconda.com/download/#windows',
'http://quantlib.org/install/vc10.shtml',
'http://quantlib.org/quantlibxl/',
'http://sourceforge.net/projects/boost/files/boost-binaries/',
'https://www.postgresql.org/',
'http://www.cnblogs.com/newpanderking/articles/3372969.html',
'http://www.pgadmin.org/',
'http://quantlib.org/quantlibaddin/build_qlxl.html',
'https://sourceforge.net/p/quantlib/mailman/quantlib-dev/?style=flat&viewmonth=201101',
'http://quantlib.10058.n7.nabble.com/problems-compiling-QuantLibXL-from-td15602.html'
}
EXPECTED_TITLE = 'Homepage of Quant Team One'
def traverse():
print(url_visited)
nodes = driver.find_elements_by_tag_name('a')
if len(nodes) == 0:
return
else:
for i in range(len(nodes)):
print('當前:%s' % driver.current_url)
if 'ErrorStatus=0x800C0005' in driver.current_url:
raise ValueError('站點無法訪問')
assert driver.title == EXPECTED_TITLE
nodes = driver.find_elements_by_tag_name('a') # 每次都要重新獲取啊 -_-!! 不然要報錯: 此節點已過時
node = nodes[i]
url = node.get_attribute("href")
if node.text in ['\n \n \n ']: # 這個超鏈接是在哪里出現的 -_-!! 好詭異 -_-!
continue
if url in (url_visited | url_filtered): # 不需要訪問的頁面 (已經訪問過的 & 確實不需要訪問的)
continue
print('%s, %s' % (node.text, url))
try:
if node.get_attribute('target') == '_blank': # 如果是 _target = blank 的話,打開新的選項卡(標簽),隨后關閉它
node.click()
time.sleep(SLEEPING_SECOND)
assert driver.title == EXPECTED_TITLE
url_visited.add(url)
windows = driver.window_handles
driver.switch_to.window(windows[1])
driver.close()
driver.switch_to.window(windows[0])
else:
node.click()
time.sleep(SLEEPING_SECOND)
assert driver.title == EXPECTED_TITLE
url_visited.add(url)
traverse()
driver.back()
except Exception as e:
print(e)
pass
url_visited.add(driver.current_url)
traverse()
driver.quit()
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python web自动化测试实验报告_Python:web自动化测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络知识:宽带下载网速是30MB/s,经
- 下一篇: 用python画统计图表_Python数