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:
robotFramework-几种set Variable的区别
进击的HHH:
Selenium基础之------(将浏览器最大化,设置浏览器固定宽、高,操控浏览器前进、后退)(转)
@Vi-:
使用pycharm编写和运行RF脚本
提拉米粟: