# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: 元素操作-切换.py @ide: PyCharm Community Edition @time: 2019-01-19 10:43 @blog: https://www.cnblogs.com/gotesting/ ''' ''' windows窗口切换:切换到要操作的窗口 有多个窗口 1. 触发新窗口的出现 2. 得知道新窗口是谁 -- 依据窗口的window_h…
# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: 鼠标操作.py @ide: PyCharm Community Edition @time: 2019-01-22 11:15 @blog: https://www.cnblogs.com/gotesting/ ''' from selenium import webdriver from selenium.webdriver.common.action_chains…
# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: wait.py @ide: PyCharm Community Edition @time: 2019-01-19 09:50 @blog: https://www.cnblogs.com/gotesting/ ''' from selenium import webdriver import time driver = webdriver.Chrome() driv…
# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: find_ele.py @ide: PyCharm Community Edition @time: 2019-01-18 10:56 @blog: https://www.cnblogs.com/gotesting/ ''' from selenium import webdriver from selenium.webdriver.common.by import…
Python Web自动化测试入门与实战 购买地址 · 京东:https://item.jd.com/69239480564.html   天猫:https://detail.tmall.com/item.htm?spm=a220m.1000858.1000725.81.7d717628N0mje4&id=618358182656&skuId=4611686636785570560&user_id=2780997294&cat_id=2&is_b=1&rn=…
Python+selenium自动化测试中Windows窗口跳转方法 #第一种方法 #获得当前窗口 nowhandle=driver.current_window_handle #打开弹窗 driver.find_element_by_name("xxx").click() #获得所有窗口 allhandles=driver.window_handles for handle in allhandles: #比较当前窗口是不是原先的窗口 if handle!=nowhandle: #获…
功能测试使用selenium,模块有: 1.futil: 公共方法,如元素高亮显示 # coding=utf-8 """高亮显示元素""" def highLight(driver,element): js = ''' element = arguments[0]; element.setAttribute('style','border: 3px solid red;') ''' driver.execute_script(js,element…
from selenium import webdriverfrom selenium.webdriver.common.by import Byimport time driver = webdriver.Firefox()driver.get("http://bj.ganji.com/")time.sleep(3) 1.获取句柄 # 获取当前的handle名字handle = driver.current_window_handleprint(f"获取到当前的handle…
接口公共方法有:数据引擎.http引擎.Excel引擎 1.数据引擎:获取用例.结果检查.结果统计 # -*- coding:utf-8 -*- from XlsEngine import XlsEngine_rd import os '''获取用例''' def getCase(): filepath = os.path.abspath('.') filename = filepath + "/interfacetest/Data/InterfaceData.xlsx" data =…
wd.current_window_handle #获取当前窗口句柄 wd.window_handles #获取所有窗口句柄 wd.switch_to.window(wd.window_handles)#切换窗口 使用for循环 for handles in wd.window_handles: #遍历所有位置码 if handles==wd.current_window_handle: #如果遍历的位置码等于之前的窗口,那它就是之前的窗口,不进入 print('之前的窗口,不进入') else…
常见自动化动作支持 click sendKeys swipe touch action 元素操作 1.click()点击操作 也可以用tab实现点击操作 driver.find_element_by_id("com.wuba.zhuanzhuan:id/ae8").click() 2.clear()清空输入框内容 driver.find_element_by_id("com.wuba.zhuanzhuan:id/ij").clear() 3.send(xx)输入框内…
测试用例基类: # coding=utf-8 import unittest import Logger log = Logger.Loger() class BaseCase(unittest.TestCase): def setUp(self): self.loginfo("============================================================") self.loginfo("%s is start" % sel…
Python接口测试采用python读取excel的方法,通过requests库发送请求和接收响应.模块有: Data:用于存放excel用例的,用例格式: iutil: 接口公共方法,数据引擎.http引擎.Excel引擎,见 http://www.cnblogs.com/fengsiyi/articles/7206855.html models: 一些接口对象的封装 report: 报告 testcases: 具体测试用例实现 Python web功能&接口自动化测试框架搭建——接口用例实现…
由于unittest框架中结果收集在不同文件中,所以此处重写结果收集方法,加入执行时间,失败信息,失败截图等 TestRunner.py # coding=utf-8 import sys import time import datetime import unittest from PIL import ImageGrab import random import ConfigParser import re import Logger log = Logger.Loger() TestRe…
1.通用模块: config.conf: 公共配置文件,配置报告.日志.截图路径,以及邮件相关配置 [report] reportpath = E:\workspace\WebAutomation\src\functiontest\Report\2017-07-18 screen_path = E:\workspace\WebAutomation\src\functiontest\Report\2017-07-18\Screenshoots report_path = E:\workspace\…
Python UnitTest测试框架介绍 1)         TestCase:所有测试用例类继承的基本类, TestCase的实例就是测试用例 2)         TestSuite:测试套件,可以将用例“组装”起来 3)         TestLoader:是用来加载TestCase到TestSuite中的 4)         TextTextRunner:执行测试用例,其中的run(test)会执行TestSuite/TestCase中的run(result)方法 5)     …
自动化测试框架一般需要实现以下通用功能 执行前准备 结束后清理 执行步骤输出 执行结果输出 错误.失败截图 测试报告 发送邮件 日志 需要的软件和python第三方库有: 通用: JDK Eclipse(需安装Pydev插件) Python 功能&UI Selenium (Web Driver) 接口 Requests (负责发送请求和接收响应) Xlrd  (读取Excel) Python web功能&接口自动化测试框架搭建——接口用例实现 Python web功能&接口自动化测…
在使用web自动化测试中,用例失败则自动截图的网上也有,但实际能落地的却没看到,现总结在在实际应用中失败截图的几种方法: 一.使用unittest框架截图方法:   1.在tearDown中写入截图的功能,如下: import sysclass SeleniumTest(unittest2.TestCase): ... def tearDown(self): if sys.exc_info()[0]: test_method_name = self._testMethodName self.dr…
豆瓣原创电子书每周推出数十本限时免费数目,一周免费期过后恢复原价.想着豆瓣原创书中有不少值得一看,便写了个脚本,免去一个个添加的烦恼. 使用了Windows下selenium+Python的组合,有较多的文档可以查阅,主要总结如下: 1.使用chrome浏览器:下载旧版本(52),新版本不兼容,下载chromedriver,放入chrome安装目录,于chrome.exe同目录,并添加到Path环境变量. 2.强大的元素定位:通过浏览器审查元素直接复制的xpath多为绝对定位,容易受网页结构调整…
# 12. 上传操作## (1)如果是input可以直接输入路径的,直接使用send_keys输入路径# (2)非input标签的,需要借助第三方工具:# A. AutoIt : 调用其生成的au3或exe文件# B. SendKeys第三方库:目前只支持到2.7版本# C. Python pywin32库:识别对话框句柄,进而操作 # 工具:pywin32 和 WinSpy(识别windows控件的工具)# 在pywin32中,查找一层窗口的方法为:win32gui模块下的FindWindow…
代码是自己写了 python WebDriver  页面操作的常用方法. from selenium import webdriver import time driver = webdriver.Firefox() #最大化窗口 driver.maximize_window() #定义链接地址 first_url = "http://www.hao123.com" secend_url = "http://www.baidu.com" #打开第一个链接 drive…
本文转自:https://www.cnblogs.com/sinder2018/articles/9699801.html 一.滑动屏幕 1.appium - 滑动屏幕 滑动接口: swipe(起始X,起始Y,结束X,结束Y) 结束X - 起始X:X轴滑动的距离 结束Y - 起始Y:Y轴滑动的距离 Q:手机的屏幕有很多,如何兼容? 2.appium - 上下左右滑动屏幕 原理: 1.先获取设备的屏幕大小(长.宽) 2.在设置滑动的距离与屏幕大小的百分比. 3.调用滑动接口执行滑动操作 获取当前窗…
很多QA在做UI自动化或者App自动化的时候,会遇到在web页面要抓取App模式的元素,或者是在App要抓取H5页面的元素,从网上整理了一些方法,不一定能解决,但是试一下也未尝不可,如果解决了就记得关注一波咯!!!python噢~~~     self.driver.switch_to.context()   self.driver.switch_to.context('WEBVIEW_1')   app --> web     self.driver.switch_to.context('NA…
毫无疑问,首先需要导入webdriver from selenium import webdriver 清除文本 driver.find_element_by_id('kw').clear() 文本输入 driver.find_element_by_id('kw').send_keys("selenium") 按键输入 from selenium.webdriver.common.keys import Keys driver.find_element_by_id('kw').send…
基础框架搭建 1.安装python 2.安装selenium cmd输入pip install selenium 问题:在python中输入from selenium import webdriver,找不到selenium 解决方案:python中file-settings-project interpreter—>点击右侧pip—>查找selenium—>install package 关闭webdriver时,使用quit()方法可以彻底关闭浏览器,释放资源.而使用close()方…
本篇介绍我们如何利用selenium 来操作各种页面元素 阅读目录  链接(link) <div> <p>链接 link</p> <a href="www.cnblogs.com/tankxiao">小坦克</a> </div> 链接的操作 // 找到链接元素 WebElement link1 = driver.findElement(By.linkText("小坦克")); WebElemen…
链接(link) <div> <p>链接 link</p> <a href="www.cnblogs.com/tankxiao">小坦克</a> </div> 链接的操作 // 找到链接元素 WebElement link1 = driver.findElement(By.linkText("小坦克")); WebElement link11 = driver.findElement(By.pa…
关于selenium测试框架首先想到的就是PO模型,简单说下PO模型 PO模型的概念和理解: PO就是一个设计思想,将代码以页面为单位进行组织,针对这个页面上的所有信息.相关操作都放到一个类中,从而使具体的测试用例变成了简单的调用和验证操作. 优点:进行了拆分和分层 缺点:对于复杂的业务page层变了,case也需要去改动 PO模型的目录结构: 其中,base_page是login_page.search_page的基础.test_login调用login_page,login_page调用ba…
# coding=utf-8'''web游览器属性: 页面最大化 maximize_window() 获取当前页面地址 current_url 代码 page_source title title 后退 back() 前进 forward() 刷新 refresh() 当前的游览器 name 获取元素值 get_attribute() 清除输入框内容 clear()'''from selenium import webdriverfrom time import sleep dr=webdriv…
1.新建实例 xx_driver = os.path.abspath(r"路径") os.environ["webdriver.xx.driver"] = xx_driver driver = webdriver.xx(xx_driver) 2.id.name.tag.css.link_text.xpath元素定位 driver.find_element_by_id("xxx") driver.find_element_by_name("…