小编TDH*_*DHM的帖子

Chrome 的 useAutomationExtension 功能是什么?

我在运行 Selenium 测试时遇到了一个问题。SO答案之一建议使用禁用Chrome自动化扩展useAutomationExtension-

options.setExperimentalOption("useAutomationExtension", false);
Run Code Online (Sandbox Code Playgroud)

我想了解到底useAutomationExtension是什么。因此,我将能够弄清楚它会对测试产生什么影响,并决定是否禁用。

selenium chromium google-chrome-extension selenium-chromedriver selenium-webdriver

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

如何以及何时实施Selenium WebDriver的刷新(ExpectedCondition <T>条件)?

我正在通过ExpectedCondtions类的方法,找到一个方法:刷新

我可以理解,当你获得StaleElementReferenceException并且你想要再次检索那个元素时,可以使用该方法,这样可以避免StaleElementReferenceException

我的上述理解可能不正确因此我想证实:

  1. 什么时候refreshed应该使用?
  2. something以下代码的部分代码应该是什么:

wait.until(ExpectedConditions.refreshed(**something**));

有人可以用一个例子解释一下吗?

java selenium selenium-webdriver

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

为什么'undefined方法`assert_equal''在被要求'test/unit'之后被抛出

我打开irb并输入:

require 'test/unit'
Run Code Online (Sandbox Code Playgroud)

但是当我使用这个assert_equal方法时,我得到了以下错误:NoMethodError: undefined method 'assert_equal' for main:Object.为什么即使在要求'测试/单位'之后也会发生这种情况?

ruby testunit

8
推荐指数
3
解决办法
7068
查看次数

错误:hook拒绝在推送分支时更新refs/heads/external_pub

目前,我正在研究'external_pub'分支.我在一个文件中做了一些更改,添加了它,提交然后尝试推送:

git push origin external_pub
Run Code Online (Sandbox Code Playgroud)

但这导致了一个错误:

remote: error: hook declined to update refs/heads/external_pub
To ssh://XXX/testing.git
! [remote rejected] external_pub -> external_pub (hook declined)
error: failed to push some refs to 'ssh://XXX/testing.git'
Run Code Online (Sandbox Code Playgroud)

然后我尝试推送分支而不做任何改变,看看会发生什么(仅用于隔离问题).我做了以下事情:

git reset --hard <commit_id> (to reset to last working sha commit)
git status
Run Code Online (Sandbox Code Playgroud)

以上命令显示:

# On branch external_pub
# Your branch is ahead of 'development' by 5 commits.
#
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)

然后

git pull origin external_pub
Run Code Online (Sandbox Code Playgroud)

它显示:您的分支已经是最新的

然后

git push origin external_pub
Run Code Online (Sandbox Code Playgroud)

这次也显示出与上述相同的错误.你能帮我解决这个问题吗?

git

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

无法在响应输出中读取application/json消息

我正在测试REST API,当我进行GET调用以检索资源时,它导致500内部服务器错误,并且在输出中它返回具有媒体类型的消息application/json:

[
  {
    "messageType": "Some error type",
    "messageText": "Some message text",
    "moreInfo": "Some info"
  }
]
Run Code Online (Sandbox Code Playgroud)

请注意,在上面的输出中,Json在里面 []

我想messageText从上面的输出响应中读取值.我尝试过 -

JsonObject jsonObject = response.readEntity(JsonObject.class);
Run Code Online (Sandbox Code Playgroud)

但它会导致以下错误:

java.lang.IllegalStateException: Entity input stream has already been closed.
    at org.glassfish.jersey.message.internal.EntityInputStream.ensureNotClosed(EntityInputStream.java:225)
    at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:830)
    at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:783)
    at org.glassfish.jersey.client.ClientResponse.readEntity(ClientResponse.java:326)
    at org.glassfish.jersey.client.InboundJaxrsResponse$1.call(InboundJaxrsResponse.java:111)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:399)
    at org.glassfish.jersey.client.InboundJaxrsResponse.readEntity(InboundJaxrsResponse.java:108)
Run Code Online (Sandbox Code Playgroud)

你能帮我解决一下我如何阅读输出中的信息?我正在使用Jersy库.

java json jersey jersey-client

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

使用Selenium WebDriver启用/禁用javascript

出于某种原因,我要为Firefox禁用javascript(手动,我们通过以下步骤提到http://support.mozilla.org/en-US/kb/javascript-settings-for-interactive-web-pages#w_enabling - 并禁用-javascript).如何通过Selenium WebDriver使用Ruby实现这一目标?

ruby selenium-webdriver

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

如何使用Selenium单击Onclick Javascript表单?

这是我的源代码:

<div class="emph a-center addCard"
Or 
<a class="add-link" href="javascript:;" onclick="gotoPaymentAddressForm()">Add a New Credit Card</a
</div>
Run Code Online (Sandbox Code Playgroud)

我需要点击同一页面上打开表格的"添加新信用卡".无法使用Selenium执行此操作.

好心劝告.

selenium selenium-webdriver

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

导入org.apache.poi.xssf无法解析

我已经创建了Maven项目,在pom.xml中,我提到了以下POI依赖项,以便读取和写入excel文件:

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.9</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

在测试中,当我添加时import org.apache.poi.hssf.usermodel.HSSFWorkbook;,我没有看到任何错误.

但是,当我添加时import org.apache.poi.xssf.usermodel.XSSFWorkbook;,它显示一个错误:The import org.apache.poi.xssf can not be resolved

它为XSSF抛出了错误,但对HSSF却没有.你能指导我如何解决这个问题吗?

java apache excel maven

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

Unix命令创建目录并进入

通常,我必须打两个命令:

$ mkdir dir_name
$ cd dir_name
Run Code Online (Sandbox Code Playgroud)

创建目录并转到它。

通过使用上面可以实现的单个命令?

unix shell command

5
推荐指数
2
解决办法
980
查看次数

等到特定元素消失

使用 Ruby,我们可以通过执行以下操作来等待特定元素:

wait = Selenium::WebDriver::Wait.new(:timeout => 10)
wait.until { driver.find_element(:class, 'gritter-item') }
Run Code Online (Sandbox Code Playgroud)

但是如果我希望特定元素从 DOM 中消失,我会编写如下方法:

  def disappear_element
    begin
      driver.find_element(:class, 'gritter-item')
    rescue Selenium::WebDriver::Error::NoSuchElementError
      true
    else
      false
    end
  end
Run Code Online (Sandbox Code Playgroud)

并称之为:

wait.until { disappear_element }
Run Code Online (Sandbox Code Playgroud)

这样我就可以实现元素的缺失。在 Ruby 中有没有更好的方法来实现相同的目标?

ruby selenium-webdriver

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