近期有同学在做web自动化的时候,发现页面上有些元素,在selenium中无法通过xpath来定位,各种原因找了半天,都没找到解决方案. 最后发现元素在一个叫做shadow-root的节点下面. 如下所示: 问题:shadow-root是什么?为什么下面的节点在selenium无法通过xapth来定位? 接下来我们来先了解一下shawod-root到到底是什么! 一shadowDOM介绍 上面所看到的shadow-root标签其实就是一个shadowDOM,那么什么是shadowDOM呢? 它是…
本文转载自: http://www.lemfix.com/topics/971 近期有同学在做web自动化的时候,发现页面上有些元素,在selenium中无法通过xpath来定位,各种原因找了半天,都没找到解决方案,最后发现元素在一个叫做shadow-root的节点下面,如下所示:   问题:shadow-root是什么?为什么下面的节点在selenium无法通过xapth来定位? 接下来我们来先了解一下shawod-root到到底是什么! 一.shadowDOM介绍 ​ 上面所看到的shado…
前言 本篇介绍如何在微信公众号上自动化测试,以操作我的个人公众号:yoyoketang为例,没关注的,先微信关注了,再跟着操作 环境准备:python 3.6appium 1.7以上版本微信6.6.6微信里面webview 57.0电脑上chrome版本 66.0appium-chromedriver路径下chromedriver 2.28 开启微信debug模式 1.以微信为例,webview的版本号可以用chrome浏览器查看到,由于微信用的是x5内核,跟其他app不太一样,这里需要先开启微…
from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select dri…
webdriver模块下的ActionChains类 一.两个主要组件 1.实例化  ActionChains() 2.ActionChains(driver).perform() perform()的作用就是  统一提交  ActionChains(driver) 列表里面的  鼠标操作 二.ActionChains()里面常用的方法 1.点击元素:          click("目标元素") 2.点住元素不放:       click_and_hold("目标元素&qu…
Keys没啥好讲的 语法:Keys.CONTRAL    等等类似. 下方就是可以  Keys.   跟的键 那些 \ue000  就是对应的  Windows系统中的键盘码,pywin32 也一样的可以调用.在后来的  文件上传也许可以用到.…
from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get("url") #…
Firefox路径问题 firefox火狐浏览器去完成自动化测试时,代码报了如下错误: Cannot find firefox binary in PATH. mark sure firefox is installed 错误原因: firefox安装在其它路径,不是默认的安装路径 解决办法: 指定firefox可执行文件路径:webdriver.firefox.bin 代码设置: selenium 3.x Friefox驱动问题 使用selenium3.x+firefox火狐浏览器去完成自动化…
该csv模块定义了以下功能: csv.reader(csvfile,dialect ='excel',** fmtparams ) 返回一个reader对象,它将迭代给定csvfile中的行. csvfile可以是任何支持迭代器协议的对象,并在每次__next__()调用其方法时返回一个字符串- 文件对象和列表对象都是合适的.如果csvfile是一个文件对象,则应该打开它newline=''.[1]可以给出 可选的 方言参数,该参数用于定义特定于CSV方言的一组参数.它可以是类的子类的实例,也可…
前言 实现场景:所有并发虚拟用户共享同一份测试数据,并且保证虚拟用户使用的数据不重复.例如,模拟10用户并发注册账号,总共有100个手机号,要求注册账号不重复,注册完毕后结束测试 准备数据 虚拟用户 locust1 locust2 locust3 locust4 locust5 locust6 locust7 locust8 locust9 locust10 共享数据 tel1 tel2 tel3 tel4 tel5 tel6 tel7 ...... tel99 tel100 虚拟用户数,可以在…