背景: 用WebDriverWait时,一开始用的是presence_of_element_located,我对它的想法就是他就是用来等待元素出现.结果屡屡出问题.元素默认是隐藏的,导致等待过早的就结束了. 解决:去StackOverFlow查了一下,发现我应该用visibility_of_element_located. http://stackoverflow.com/questions/19675696/performance-of-visibilityofelementlocated-v…
最近在UI自动化时遇到了,上一步成功操作后没有响应的情况(动画加载和浏览器加载导致实际没有问题),导致下一步无法成功操作,所有想在尝试2次操作后再次进行上一步操作解决这种情况导致的错误(其实是不想每一次有问题都要手动加线程沉睡) 1.java应用程序,暂停/开始按钮 import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionL…
一.handle窗口切换 当点击某个元素后,会重新生成一个新的页签,但此时我们的操作仍然在原先的窗口当中,如果要在新的窗口继续操作元素,那么就要用到handle窗口切换的方法. 常用方法: window_handles:获取当前打开的所有窗口句柄,返回类型为一个列表. current_window_handle:获取当前窗口的句柄. switch_to.window(handle_path):切换窗口,handle_path参数代表的是一个窗口句柄. 当操作某个元素后需要等待新的元素出现,我们用…
1. 操作cookie // 增加一个 name = "name",value="value" 的 cookie Cookie cookie = new Cookie("name", "value"); driver.manage().addCookie(cookie); // 得到当前页面下所有的 cookies ,并且输出它们的所在域.name.value.有效日期和路径 Set<Cookie> cookies…
1.获取列表数据方法 2.打开页面默认加载数据 3.操作后重新获取数据…
1.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去掉验证码1.1.手动在请求中添加cookies信息 url = "http://www.baidu.com" driver = webdriver.Firefox() driver.get(url) time.sleep(3) #添加cookies的方式 c1 = {'domain': '…
一.强制等待 使用方法:sleep(X),等待X秒后,进行下一步操作. 第一种也是使用最简单的一种办法就是强制等待sleep(X),强制让浏览器等待X秒,不管当前操作是否完成,是否可以进行下一步操作,都必须等X秒的时间. 缺点:不能准确把握需要等待的时间(有时操作还未完成,等待就结束了,导致报错:有时操作已经完成了,但等待时间还没有到,浪费时间),如果在用例中大量使用,会浪费不必要的等待时间,影响测试用例的执行效率. 优点:使用简单,可以在调试时使用. 示例:打开登录页面,等待3秒,进行登录操作…
博主在尝试对百度首页用selenium完成自动登录的功能 反复多次尝试元素定位方法也未写错.最后发现问题原因: 脚本运行速度快于页面加载速度 如百度首页登录例子.脚本已经开始寻找登录弹窗 但是页面仍在加载.导致程序报错 博主就整理下智能等待的方法 首先是显示等待:即等待页面某个元素出现.超时则抛出错误 #!/usr/bin/env python # -*- coding: utf_8 -*- from learn_webdriver import Webdriver from selenium…
python+selenium六:隐式等待   # 隐式等待 # 全局生效,只写一次即可(仅当前页面)# 若有页面切换,需sleep等待新页面出现后,再使用此方法 # 如:在35秒内,等待操作完成,完成后,不再等待# driver.implicitly_wait(35) from selenium import webdriverimport timedriver = webdriver.Firefox()time.sleep(3)driver.get("https://www.baidu.co…
生成检查点文件(chekpoint file),扩展名.ckpt,tf.train.Saver对象调用Saver.save()生成.包含权重和其他程序定义变量,不包含图结构.另一程序使用,需要重新创建图形结构,告诉TensorFlow如何处理权重.生成图协议文件(graph proto file),二进制文件,扩展名.pb,tf.tran.write_graph()保存,只包含图形结构,不包含权重,tf.import_graph_def加载图形. 模型存储,建立一个tf.train.Saver(…