小编Abh*_*kar的帖子

硒的幕后工作

作为硒测试开发人员,我总是习惯用的webdriver知识仅限于在开发测试脚本工具的使用.但我好奇地想知道如何使用的webdriver页面上的浏览器进行交互的内部.

我的问题是:

  1. 我已阅读,直接的webdriver与浏览器,而不是像硒RC执行JavaScript的自动化引擎交互.这是否意味着WebDriver不会在所有情况下执行Javascript?
    这是否意味着有与DOM交互的方式不止一种?我认为JavaScript是访问/分析DOM上的浏览器的唯一途径.
  2. Selenium RC使用代理来消除同源策略的问题.webdriver的是如何解决同源策略的问题?

  3. WebDriver使用JSON有线协议.但在的webdriver的部件,在使用JSON Wire协议?它是在不同的浏览器的驱动程序使用的?或者是它的语言绑定API中使用?

  4. 当我的代码是: 如何与DOM的webdriver在执行上面的代码时访问? WebDriver driver = new ChromeDriver(); driver.get("http://www.google.com"); WebElement searchField = driver.findElement(By.name("q")); searchField.sendKeys("selenium");

这将真正帮助,如果有人能详细解释这些给我.我想做出关于webdriver的内部工作,希望能够帮助任何人搜索该主题的社区维基.提前致谢!

selenium dom webdriver selenium-webdriver

13
推荐指数
1
解决办法
8696
查看次数

Selenium的ByChained课程如何运作?

对ByChained类文档提到的内容非常困惑.它说:

用于使用一系列其他查找来定位文档中的元素的机制.此类将查找按顺序匹配每个定位符的所有DOM元素,例如driver.findElements(new ByChained(by1,by2))将查找与by2匹配的所有元素,并显示在与by1匹配的元素下.

code.google.com 的selenium 也存在一个问题,为ByChained类引发,有人评论说它用于使用多个定位器查找元素/元素.

我不明白.为什么by1和by2是两个不同元素的定位器?当我最初遇到这个课程时,我觉得通过使用不同的定位器来帮助定位元素.因此,如果一个定位器不起作用,则下一个定位器将起作用.但是当我几乎使用这个类时,它表现得非常奇怪并且一直抛出NoSuchElementException.

例如,如果我的html是:

<html>
  <body>
    <div id="details">
      <input id="firstName" class="personName" type="text"/>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我想通过在ByChained中使用两个定位器来找到输入字段:
1.使用By.id("firstName")
2. usingBy.className("personName")

所以我的代码变成:

By myBy = new ByChained(By.id("firstName"),By.className("personName"));
driver.findElement(myBy);
Run Code Online (Sandbox Code Playgroud)

执行时,我得到了NoSuchElementException.我期待如果我的第一个By不起作用,那么它将在系列中找到具有下一个By的元素.

有人可以解释这个类如何使用一个例子,在哪些情况下可以使用它?

selenium webdriver selenium-webdriver

12
推荐指数
2
解决办法
5014
查看次数

Wireshark过滤器,用于过滤目标源IP地址和协议

我想根据源,目标IP地址和协议的过滤器组合过滤Wireshark的监控结果.所以,现在我可以使用此过滤器表达式过滤掉目标和源IP地址的活动:(ip.dst == xxx.xxx.xxx.xxx && ip.src == xxx.xxx.xxx. xxx)|| (ip.dst == xxx.xxx.xxx.xxx && ip.src == xxx.xxx.xxx.xxx)

这给了我作为目标和源的2个ip地址的请求响应活动,这取决于它是请求还是响应.但现在,我正在获得HTTP和TCP的结果.我想只看到HTTP的结果.

有什么建议怎么做?

networking http sniffer wireshark

11
推荐指数
1
解决办法
3万
查看次数

从selenium webdriver停止浏览器加载

我的selenium webdriver转到页面并等待该页面完成加载.如果30秒超时则脚本失败.

反正有没有让webdriver在30秒后停止加载页面(比如按下浏览器上的'x')?这将阻止我的司机超时.

我正在使用Chromedriver.

selenium google-chrome webdriver

7
推荐指数
1
解决办法
2万
查看次数

JMeter https代理记录不起作用

我正在JMeter上录制基于JSF的Web应用程序的https会话,但它无法正常工作.

目标应用程序托管在: AWS
JMeter版本: 2.9 r1437961
浏览器: Chrome版本29.0.1547.65
Java: java版本"1.6.0_27"
OpenJDK运行时环境(IcedTea6 1.12.5)(6b27-1.12.5-0ubuntu0.12.04.1)
OpenJDK Server VM(build 20.0-b12,混合模式)
OS: Ubuntu 12.04

代理服务器配置:
端口:8084
目标控制器:测试计划>线程组
捕获HTTP标头已选中.
HTTP样本设置:
类型:未选中.按照重定向并使用KeepAlive进行检查.

要排除的网址格式:
1.已添加建议的排除
2..*\.jsf

被抛出的异常(来自JMeter.log):

ERROR - jmeter.protocol.http.proxy.Proxy:  java.net.SocketException: Connection closed by remote host
    at sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1377)
    at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:62)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    at org.apache.jmeter.protocol.http.proxy.Proxy.writeToClient(Proxy.java:404)
    at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:218)

ERROR - jmeter.protocol.http.proxy.Proxy: Problem with SSL certificate? Ensure browser is set to accept the JMeter proxy cert: Connection closed by remote host java.net.SocketException: Connection closed by remote host
    at sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1377) …
Run Code Online (Sandbox Code Playgroud)

ssl proxy google-chrome jmeter load-testing

6
推荐指数
1
解决办法
3万
查看次数

从Selenium WebDriver运行chrome扩展

我知道如何在selenium webdriver中加载chrome扩展.但我没有看到任何帖子/博客描述我如何从Selenium 运行 chrome扩展.

我需要明确地运行chrome扩展/使其从selenium执行它的功能.例如,我想使用此扩展程序使用Selenium Webdriver 清除Chrome浏览器的缓存.

我可以在第一时间做到吗?或者Selenium WebDriver是否只帮助我将扩展程序加载到浏览器实例中并将其保留在那里?

.net selenium google-chrome-extension selenium-chromedriver selenium-webdriver

5
推荐指数
1
解决办法
7212
查看次数

尝试使用 minikube 运行 kubectl get pod 时无法读取客户端证书和客户端密钥

我在 Ubuntu Linux VM 上并尝试在其上运行 minikube。

我通过 homebrew 安装了 kubectl,然后按照以下安装指南安装了 minikube:
kubectl:https: //kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux
minikube:https://kubernetes .io/docs/tasks/tools/install-minikube/

我启动了 minikube,sudo minikube start --driver=none它有以下输出:
在此输入图像描述

当我运行命令: 时kubectl get pods,出现错误:

Error in configuration:
* unable to read client-cert /home/jenkins/.minikube/profiles/minikube/client.crt for minikube due to open /home/jenkins/.minikube/profiles/minikube/client.crt: permission denied
* unable to read client-key /home/jenkins/.minikube/profiles/minikube/client.key for minikube due to open /home/jenkins/.minikube/profiles/minikube/client.key: permission denied
Run Code Online (Sandbox Code Playgroud)

我上面安装的用户是/home/jenkins. 我不确定出了什么问题。有人可以帮忙吗?

ubuntu jenkins kubernetes minikube

5
推荐指数
1
解决办法
8808
查看次数

使用JMeter中的XPath Query从HTML中的select元素中提取值

我想selected = "selected"使用XPath提取器提取具有该属性的第一个值.但它似乎对我不起作用.

我从中提取值的html是:

< select id="ddLocation" name="ddLocation" class="DDlocation" size="1"      onchange="jsf.util.chain(this,event,'onLocationChange();,'mojarra.ab(this,event,\'valueChange\',\'@this\',0)')"> <br>
    < option value="43" selected="selected">Pune</option> <br>
    < option value="44">Agra< /option> <br>
    < option value="45">Guntur< /option> <br>
    < option value="46">Kochi< /option> <br>
    < option value="73">Kothrud< /option> <br>
    < option value="153">Ratnagiri< /option> <br>
    < option value="156">Baner< /option>
Run Code Online (Sandbox Code Playgroud)

我的XPath查询是:

//select[@id="ddLocation"]/option[1]/@value
Run Code Online (Sandbox Code Playgroud)

这是错的吗?
任何人都可以建议我更好/正确的方法吗?

xpath automated-tests jmeter load-testing

4
推荐指数
1
解决办法
9104
查看次数