1, 将浏览器最大化

我们知道调用启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们“观看”脚本的执行。

#coding=utf-8
from selenium import webdriver
import time

browser = webdriver.Firefox()

browser.get("http://www.baidu.com")
time.sleep(2)

print "浏览器最大化"
browser.maximize_window() #将浏览器最大化显示
time.sleep(2)

browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
time.sleep(3)
browser.quit()

2, 设置浏览器固定宽、高(连带测试手机页显示)

最大化还是不够灵活,能不能随意的设置浏览的宽、高显示? 当然是可以的。

#coding=utf-8
from selenium import webdriver
import time

browser = webdriver.Firefox()

browser.get("http://m.mail.10086.cn")
time.sleep(2)

print "设置浏览器宽480、高800显示"
browser.set_window_size(480, 800) #参数数字为像素点
time.sleep(3)
browser.quit()

这个需求也还是有的,比如我们通过 PC 浏览器在访问一下手机网站时,调整浏览器为手机屏幕的宽、高,容易发现一些显示问题。(上面的手机邮箱网站就是笔者测试过的一个产品)

3, 操控浏览器前进、后退

浏览器上有一个后退、前进按钮,对于浏览网页的人是比较方便的;对于做 web 自动化测试的同学来说应该算是一个比较难模拟的问题;其实很简单,下面看看 python 的实现方式:

#coding=utf-8
from selenium import webdriver
import time

browser = webdriver.Firefox()

#访问百度首页
first_url= 'http://www.baidu.com'
print "now access %s" %(first_url)
browser.get(first_url)
time.sleep(2)

#访问新闻页面
second_url='http://news.baidu.com'
print "now access %s" %(second_url)
browser.get(second_url)
time.sleep(2)

#返回(后退)到百度首页
print "back to  %s "%(first_url)
browser.back()
time.sleep(1)

#前进到新闻页
print "forward to  %s"%(second_url)
browser.forward()
time.sleep(2)

browser.quit()

为了使过程让你看得更清晰,在每一步操作上都加了 print sleep

说实话,这两个功能平时不太常用,所能想到的场景就是几个页面来回跳转,但又不想用 get url 的情况下。

原文url:http://www.cnblogs.com/fnng/p/3171383.html 1,将浏览器最大化我们知道调用启动的浏览器不是全屏的,这样不会影响脚本的执行,但是有时候会影响我们“观看”脚本的执行。#coding=utf-8from selenium import webdriverimport timebrowser = webdriver.Firefox()browser.g...
使用 Python 打开firefox 浏览器 时,默认打开的页面是小的,并不是全屏页面,如果我们想让 Python 打开firefox 浏览器 之后让它把页面全屏,就需要加上一下代码了:from selenium import webdriver import time driver = webdriver.Firefox() time.sleep(5) # 停止5s driver.maximize_w...
今天带大家一起学(复)习模拟 浏览器 运行的库 Selenium ,它是一个用于Web应用程序测试的工具。 Selenium 测试直接运行在 浏览器 中,就像真正的用户在操作一样。支持的 浏览器 包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera和Edge等。 这里我将以Chrome为例进行 Selenium 功能的演示~ 0. 准备工作 在开始后续功能演示之前,我们需要先安装Chrome 浏览器 并配置好ChromeDriver,当然也需要安装s
.sleep(): 设置 固定 休眠时间,导入time包后就可以使用sleep(),脚本 执行过程中进行休眠。 implicitly_wait():是webdriver提供的一个超时等待,隐式等待一个元素被发现,或人个命令完成。如果超出 设置 时间则抛异常。 WebDriverWait():也是webdriver提供的方法。在 设置 时间内,默认每隔一段时间检测一次当前页面元素...
一、开启 浏览器 的情况下,使用maximize()方法可以实现。 // 浏览器 最大化 ,不覆盖任务栏 webDriver.manage().window().maximize(); 二、当使用隐藏 浏览器 的模式(headless)时,需要用到另一个方法 int screenWidth=((int)java.awt.Toolkit.getDefaultToolkit().getScreenSize().width); int screenHeight = ((int)java.awt.Toolkit.getDefa
您可以使用 Selenium Grid 进行远程连接和分布式测试。 Selenium Grid 是 Selenium 的组件,它允许您在不的机器上同时运行测试用例,并将测试任务分配给不同的 浏览器 实例。 要使用 Selenium Grid,您需要按照以下步骤进行操作: 1. 安装 Java Development Kit(JDK): Selenium Grid 是使用 Java 编写的,因此您需要安装 JDK。 2. 下载 Selenium Server:您可以从 Selenium 官方网站下载最新版本的 Selenium Server JAR 文件。 3. 启动 Selenium Hub: Selenium Hub 是 Grid 的中心节点,它负责接收来自客户端的测试请求并将其分配给可用的节点。您可以使用以下命令启动 Selenium Hub: java -jar selenium -server-standalone.jar -role hub 4. 启动 Selenium Node: Selenium Node 是 Grid 的节点,它负责实际运行测试用例。您可以在不同的机器上启动多个 Selenium Node,以便并行运行测试。您可以使用以下命令启动 Selenium Node: java -Dwebdriver.chrome.driver=chromedriver -jar selenium -server-standalone.jar -role node -hub http://localhost:4444/grid/register 其中,`-Dwebdriver.chrome.driver` 指定 Chrome 驱动程序的路径,`-hub` 指定 Selenium Hub 的 URL。 5. 运行测试用例:现在您可以在客户端中编写测试用例,并将其配置为通过 Selenium Grid 运行。在测试用例中,您需要 指定 远程节点的 URL,以便将测试任务分配给正确的节点。 以下是一个使用 Python Selenium 的示例代码片段,用于远程连接到 Selenium Grid 并运行测试: ``` python from selenium import webdriver from selenium .webdriver.common.desired_capabilities import DesiredCapabilities # 配置远程节点的 URL remote_url = "http://<node_ip>:<node_port>/wd/hub" # 配置所需的 浏览器 capabilities = DesiredCapabilities.CHROME.copy() capabilities['platform'] = 'WINDOWS' # 连接到远程节点 driver = webdriver.Remote(remote_url, desired_capabilities=capabilities) # 执行测试操作 driver.get("https://www.example.com") 请将 `<node_ip>` 替换为远程节点的 IP 地址,`<node_port>` 替换为远程节点的端口号。 这样,您就可以使用 Selenium Grid 进行远程连接 浏览器 并进行分布式测试了。希望对您有帮助!如有任何问题,请随时提问。
关于Struts2找不到org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter解决方案和struts2.5的基础环境 banzhengyu: 2.4 以后的struts2过滤类文件 StrutsPrepareAndExecuteFilter.class 的结构已经做了调整,没有ng 这个包了 [code=html] <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> [/code] [code=html] <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> [/code] robotFramework-几种set Variable的区别 进击的HHH: set variable返回的变量是什么类型呢 Selenium基础之------(将浏览器最大化,设置浏览器固定宽、高,操控浏览器前进、后退)(转) @Vi-: 我觉得很可,继续加油 使用pycharm编写和运行RF脚本 提拉米粟: 想请问一下在设置suite和case的时候,parameters和Working directory填入的是什么类型的?您填入的-d results $FileName$ 和 $FileDir$ 是什么意思