1.滚动滚动条(有的时候页面元素element取得对但是并没有回显正确的数据,可能是因为页面第一次加载很慢,所以页面可能做了滚动到哪里就加载到哪里的效果,此刻我们就需要用到滚动条自动滚动这段代码让页面滚动条自动滚动加载去模拟人工的滚动滚动条操作。

 #滚动滚动条`
def MoveScorllBar(driver,down,range1,range2):
moneCount=random.randint(range1, range2)
for num in range(1,moneCount):
if(down=="down"):
driver.find_element_by_xpath("//body").send_keys(Keys.DOWN)
sleep(random.uniform(0.1,0.5))
else:
driver.find_element_by_xpath("//body").send_keys(Keys.UP)
sleep(random.uniform(0.1,0.5))
return #调用时候可用的语句如下:
MoveScorllBar(driver, "down", 10, 30) #当前页面向下点浏览器向下浏览按钮10-30下
MoveScorllBar(driver, "up", 10, 30)#当前页面向上点浏览器向上浏览按钮10-30下
 

2.弹出新窗口后需要做以下代码处理:

 #弹出新的浏览器窗口后,将之后的操作指向新的浏览器窗口
def SwitchWindow():
windows = driver.window_handles
driver.switch_to_window(windows[1])

2.读取文件csv

#读取csv文件
def Readcsvfile(filePath):
csvFile = open(filePath, "r")
reader = csv.reader(csvFile) # 返回的是迭代类型
return reader

3.写入文件csv

 #将读取的内容写入一个新的csv文档
def Savecsvfile(filePath):
csvFile2 = open(filePath, 'w', newline='') # 设置newline,否则两行之间会空一行
writer = csv.writer(csvFile2)
writer.writerow(['UserName', 'Pwd','Result'])
writer.writerows(outputString)
#csvfile.close()

4.模拟浏览器访问某网站(反爬虫)——打印访问网页的源代码

 # coding=utf-8
import csv
import random
import io
from selenium import webdriver
from time import ctime,sleep
import sys
from urllib import request,parse,error
import http.cookiejar
import urllib
import re
import lxml
from bs4 import BeautifulSoup subUrl = "http://10.10.1.9/super/login/index.php" def GetWebPageSource(url):
values = {}
data = parse.urlencode(values).encode('utf-8') # header
user_agent = ""
headers = {'User-Agent':user_agent,'Connection':'keep-alive'} # 声明cookie 声明opener
cookie_filename = 'cookie.txt'
cookie = http.cookiejar.MozillaCookieJar(cookie_filename)
handler = urllib.request.HTTPCookieProcessor(cookie)
opener = urllib.request.build_opener(handler) # 声明request
request=urllib.request.Request(url, data, headers)
#得到响应
response = opener.open(request)
html=response.read().decode('utf-8')
#保存cookie
cookie.save(ignore_discard=True,ignore_expires=True) return html if __name__ == "__main__":
html = GetWebPageSource(subUrl)
print(html)

【Python】自动化测试框架-共通方法汇总的更多相关文章

  1. 【转】推荐4个不错的Python自动化测试框架

    之前,开发团队接手一个项目并开始开发时,除了项目模块的实际开发之外,他们不得不为这个项目构建一个自动化测试框架.一个测试框架应该具有最佳的测试用例.假设(assumptions).脚本和技术来运行每一 ...

  2. Python单元测试框架unittest使用方法讲解

    这篇文章主要介绍了Python单元测试框架unittest使用方法讲解,本文讲解了unittest概述.命令行接口.测试案例自动搜索.创建测试代码.构建测试套件方法等内容,需要的朋友可以参考下   概 ...

  3. Python实用日期时间处理方法汇总

    这篇文章主要介绍了Python实用日期时间处理方法汇总,本文讲解了获取当前datetime.获取当天date.获取明天/前N天.获取当天开始和结束时间(00:00:00 23:59:59).获取两个d ...

  4. C#验证对象中的属性是否为空的共通方法

    在后台接口处理时,经常需要对请求的参数做验证.因此提取了共通方法,方便进行判断. /// <summary> /// 数据验证工具类 /// </summary> public ...

  5. (原创)Python 自动化测试框架详解

    自己折腾了一个python的自动化测试框架,梳理了一下流程,简单分享一下. 项目背景 B/S架构,进行用户界面的自动化测试 工具选择 python开发的自动化测试框架,足够灵活,可以随时根据需求进行变 ...

  6. python自动化测试框架unittest

    对于刚学习python自动化测试的小伙伴来说,unittest是一个非常适合的框架: 通过unittest,可以管理测试用例的执行,自动生成简单的自动化测试报告: 首先我们尝试编写编写一个最简单的un ...

  7. python自动化测试框架

    一.环境准备 1.python开发环境, python3.7 2.setuptools基础工具包 3.pip安装包管理工具 4.selenium自动化测试工具  chrom驱动下载地址: http:/ ...

  8. Selenium WebDriver + python 自动化测试框架

    目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...

  9. Python+自动化测试框架的设计编写

    Python之一个简单的自动化测试框架:https://baijiahao.baidu.com/s?id=1578211870226409536&wfr=spider&for=pc h ...

随机推荐

  1. JQuery元素控制方法汇总

    1.在元素内部追加内容 $("元素名").append(content) 2.在元素中的不同位置追加内容 $("元素名").appendTo(content) ...

  2. jquery获取当前select下拉选的属性值

    body中: <li> <select id="select_phone"></select> <input type="but ...

  3. [转]anchorPoint 锚点解析

    转自:http://blog.csdn.net/cjopengler/article/details/7045638 anchor point 究竟是怎么回事? 之所以造成不容易理解的是因为我们平时看 ...

  4. java bigDecimal and double

    Java BigDecimal和double   BigDecimal是Java中用来表示任意精确浮点数运算的类,在BigDecimal中,使用unscaledValue × 10-scale来表示一 ...

  5. 分配All AD User到SharePoint Group中

    使用名称为“NT AUTHORITY\Authenticated Users”

  6. SQL Server 2008 收缩日志(log)文件

    USE TestDB; GO ALTER DATABASE TestDB SET RECOVERY SIMPLE; --设置简单恢复模式 GO ); GO ALTER DATABASE TestDB ...

  7. Linux jstack分析cpu占用100%

    背景: 运行测试程序后,top命令发现某个进程(pid)占用cpu达到100%.   查看哪个线程占用最多资源: ps mp pid -o THREAD,tid,命令查看这个进程下面的所有线程占用情况 ...

  8. 使用鼠标监听器,使鼠标悬停在JTable某行时背景色改变

    一.需要知道的事实: 1.当鼠标悬停在JTable上时,相应的格子(cell)的渲染器(TableCellRenderer)的渲染方法(getTableCellRenererComponent)会被调 ...

  9. Spring MVC异常统一处理

    package com.shzq.common.exception; import java.io.PrintWriter;import java.io.StringWriter;import jav ...

  10. python使用sqlalchemy连接pymysql数据库

    python使用sqlalchemy连接mysql数据库 字数833 阅读461 评论0 喜欢1 sqlalchemy是python当中比较出名的orm程序. 什么是orm? orm英文全称objec ...