小编Nar*_*raR的帖子

自Firefox 51.0.1起,Firebug工具栏按钮始终显示为已停用

最近我的Firefox更新到版本51.0.1.最初它显示了一些与Firebug相关的提醒检查(我不清楚),但我忽略了它.现在,Firebug工具栏按钮始终显示为已停用.

不活跃的Firebug按钮

我已经多次重新安装了Firebug,但结果总是一样的.

有兼容性问题吗?如何激活Firebug?

firefox firebug

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

如何使用selenium web驱动程序自动化OTP?

我正在为网站注册做自动化,但问题是,一旦我进入手机号码,它就会发送OTP.输入otp后,它会要求输入密码,而且我可以进行注册.

一旦我进入手机号码,有没有办法获得OTP代码?或者我们可以使用selenium webdriver自动化OTP吗?

selenium selenium-webdriver

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

WebDriver GWT TabPanel问题

我正在尝试为使用TabPanel的GWT应用程序创建WebDriver测试.单击选项卡在IDE中工作正常(它使用x-path查找选项卡)但是我无法在JUnit测试中单击选项卡.

所有元素都有一个包含选项卡的debugID(虽然标签ID似乎在IDE中似乎不起作用)并且我正在继承com.google.gwt.user.Debug.我试图通过Xpath定位,这是IDE的默认设置.

genericElement.findElement(By.xpath("//div[@id='gwt-debug-mainTabPanel']/div[2]/div/div[6]/div/div")
Run Code Online (Sandbox Code Playgroud)

我已经尝试了文档中概述的代码

genericElement.findElement(By.id("gwt-debug-mainTabPanel-bar-tab6") 
Run Code Online (Sandbox Code Playgroud)

我也尝试了moveToelement(因为clickAt不再支持)并点击但是也会失败(除非我误解了它).我也想避免这种情况,因为这似乎是不好的做法.

 Actions builder = new Actions(driver);
 genericElement = driver.findElement(By.id("gwt-debug-mainTabPanel"));
 Action action = builder.moveToElement(genericElement,400, 370).click().build();
 action.perform();
Run Code Online (Sandbox Code Playgroud)

java.lang.UnsupportedOperationException:移动到任意X,Y坐标不受支持.

我知道GWT和Webdriver的相处并不好 - 但我觉得这会有一个解决方案.任何人都可以提供任何帮助 - 有没有人实现了一个有效的Webdriver测试,他们点击了GWT TabPanel中的一个标签?

编辑

我设法使用Firebug和xpath定位器找到节点(你可以添加/..to移动到父gwt-TabLayoutPanelTabInner或添加/../ ..移动到祖父母gwt-TabLayoutPanelTabInner它应该仍然有用 - 它在IDE中)

genericElement = driver.findElement(By.xpath("//div[contains(@class,'gwt-HTML') and contains(text(),'Users')]"));
Run Code Online (Sandbox Code Playgroud)

然而,点击不会更改为所需的选项卡 - 似乎是一个已知问题(可能不需要moveToElement和click(genericElement) - hust给它一个镜头)

Actions builder = new Actions(driver);
builder.moveToElement(genericElement).click(genericElement).build().perform();
Run Code Online (Sandbox Code Playgroud)

见第3节 ....这很有趣:)

gwt junit selenium webdriver selenium-webdriver

6
推荐指数
0
解决办法
1072
查看次数

有没有办法在 selenium webdriver 中获取 <embed> 标签资源

我正在尝试将 pdf 嵌入到 html 文档中。https://pdfobject.com/static.html这是参考站点。

使用页面上的<embed>标签嵌入 pdf 文档HTML

我有以下事情-

  1. 如果我打开 chrome 浏览器(我正在使用Version 55.0.2883.87 m)并检查该<embed>标签上的元素或单击F12然后检查相同的内容,它会将标签内容显示为 -

    <embed src="chrome-extension://oemmndcbldboiebfnladdacbdfmadadm/content/web/viewer.html?file=https%3A%2F%2Fpdfobject.com%2Fpdf%2Fsample-3pp.pdf#page=2" type="text/html" width="100%" height="100%">
    
    Run Code Online (Sandbox Code Playgroud)
  2. 但是如果我使用以下脚本来获取embed标签 html

    System.setProperty("webdriver.chrome.driver", "D:\\Application\\chromedriver.exe");
    driver = new ChromeDriver();
    driver.manage().window().maximize();
    driver.get("https://pdfobject.com/static.html");
    driver.manage().timeouts().implicitlyWait(45, TimeUnit.SECONDS);
    driver.switchTo().frame(1);     
    String tagdata = driver.findElement(By.id("plugin")).getAttribute("outerHTML");     
    System.out.println(tagdata);
    
    Run Code Online (Sandbox Code Playgroud)

    它检索结果为 -

    <embed width="100%" height="100%" name="plugin" id="plugin" src="https://pdfobject.com/pdf/sample-3pp.pdf#page=2" type="application/pdf" internalinstanceid="9">
    
    Run Code Online (Sandbox Code Playgroud)

但是如果我chrome打开并检查嵌入,它会显示与上述结果相同的结果,但是如果我右键单击该标签然后单击,它会打开新的开发人员工具控制台,我看到标签为 -chromedriver.exeF12embedinspect element<embed>

<embed id="plugin" type="application/x-google-chrome-pdf" src="https://pdfobject.com/pdf/sample-3pp.pdf#page=2" stream-url="blob:chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/e8337a7a-5af1-456c-8f7a-d8132c67fe6d" headers="Accept-Ranges: bytes
Cache-Control: max-age=2592000 …
Run Code Online (Sandbox Code Playgroud)

java selenium selenium-chromedriver selenium-webdriver

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

Selenium 框架和 json 中的测试数据

我刚刚完成了使用 with 的测试自动化selenium。我想知道如何在json格式上单独保存测试数据。

你能告诉我如何在page object pattern.

在这里我使用了多个包。一个用于定位器识别,另一个用于初始化元素的页面工厂,另一个用于获取 URL 等常用值的包实用程序。我还有一个用于测试登录模块的测试包。

我不知道我应该把测试数据类放在哪里?

我想单独保留测试数据。不会散布在整个脚本中。将测试数据保存在 Json 中。并在需要时从那里阅读。

我仍然对我应该把它放在哪里感到困惑 json format

而且我的selenium代码不遵循框架。我没有遵循任何框架。有人请告诉我有关框架的信息吗?

框架是:Data drivenkeyword drivenhybridmodular。大多数人使用哪个框架,因为以及为什么?

作为测试人员应该了解所有框架吗?

我正在关注页面object design pattern

页面对象:

package pageobjects;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.How;

public class HomePage
{
    @FindBy(how= How.NAME, using = "username")
    WebElement username;
    @FindBy(how=How.NAME, using = "password")
    WebElement password;
    @FindBy(how=How.XPATH, using="//*[@id=\'login-container\']/form/div[3]/div/p/input[1]" )
    WebElement button;

    //enter  username
    public void  userLogin(String user, String …
Run Code Online (Sandbox Code Playgroud)

selenium frameworks

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

是否可以从浏览器URL发出发布请求

我有一个网站,例如www.myfirstsite.com/myapp。

当我登录该站点时,确实从浏览器提取了身份验证的POST请求。

只是一个简单的身份验证(身份验证URL不同)过程。参数中的用户名和密码

用户名= abc_user

密码= 123456

完整的URL是 www.anothersite.com/login?username=abc_user&password=123456

当我使用POST请求时,Postman收到了预期的结果。

是否可以通过任何方式(我在URL中输入的任何脚本)从浏览器URL本身进行POST请求,例如GET Request进行身份验证

authentication post http-post request

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

水平条形图标签

我最近将我的一个客户项目从Swift2iOS-charts 2 升级到Swift3iOS-charts 3。

经过几天的手动调整后,大多数代码都按预期运行,但是,我的水平条形图仍然存在问题。

图表用于显示为:

在此输入图像描述

图表现在显示为:

在此输入图像描述

图表核心代码:

func drawMarginChart() {
    let labels = marginObject!.getLabelsForChart()
    let values = marginObject!.getValuesForChart()

    var dataEntries = [ChartDataEntry]()

    for i in 0..<values.count {
        let entry = BarChartDataEntry(x: Double(i), y: values[i])
        dataEntries.append(entry)
    }

    let barChartDataSet = BarChartDataSet(values: dataEntries, label: "")
    barChartDataSet.drawValuesEnabled = false
    barChartDataSet.colors = ChartColorTemplates.joyful()

    let barChartData = BarChartData(dataSet: barChartDataSet)
    barChartMargins.data = barChartData
    barChartMargins.legend.enabled = false

    barChartMargins.xAxis.valueFormatter = IndexAxisValueFormatter(values: labels)
    barChartMargins.xAxis.granularityEnabled = true
    barChartMargins.xAxis.granularity = 1

    barChartMargins.animate(xAxisDuration: 3.0, yAxisDuration: 3.0, easingOption: …
Run Code Online (Sandbox Code Playgroud)

swift ios-charts

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

Selenium Chromedriver Python - 使用 Tor 代理加载 ModHeader 扩展时“无法等待扩展后台页面加载”

这个错误在以前运行良好的程序中突然出现。我绝对确定我没有对程序进行任何更改,因为它的功能是完美的,所以这是迄今为止我经历过的最奇怪和最令人沮丧的错误。

这是我试图执行的代码:

chrome_options.add_extension('C:\\chromedriver\\ModHeader_v (1).crx')
chrome_options.add_argument('--proxy-server=socks5://' + '127.0.0.1:9150') 
driver = webdriver.Chrome('C:\\chromedriver\\chromedriver.exe', chrome_options = chrome_options)
Run Code Online (Sandbox Code Playgroud)

这会引发以下错误:

selenium.common.exceptions.WebDriverException:消息:未知错误:无法等待扩展后台页面加载:chrome-extension://idgpnmonknjnojddfkpgkljpfnnfcklj/_ generated_background_page.html 来自超时:从渲染器接收消息超时:10.000
(驱动程序信息:chromedriver =2.24.417431(9aea000394714d2fbb20850021f6204f2256b9cf),平台=Windows NT 10.0.15063 x86_64)

我认为 Tor 浏览器中的更改导致了此错误。没有其他潜在原因。

python proxy selenium tor google-chrome-extension

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

com.github.tomakehurst.wiremock.client.VerificationException:预计至少有一个请求匹配

我想为API创建一个Stub,并希望验证服务器返回的API调用和响应.因为我已经实现了WireMock示例:

import org.junit.Rule;
import org.junit.Test;

import com.github.tomakehurst.wiremock.junit.WireMockRule;

public class MockTestDemo {

    private static final int WIREMOCK_PORT = 8080;

    @Rule
    public WireMockRule wireMockRule = new WireMockRule(WIREMOCK_PORT);

    @Test
    public void exampleTest() {

    stubFor(get(urlEqualTo("/login")).withHeader("Accept", equalTo("application/json"))
            .willReturn(aResponse().withStatus(200).withBody("Login Success")
                    .withStatusMessage("Everything was just fine!"))
            .willReturn(okJson("{ \"message\": \"Hello\" }")));

       verify(getRequestedFor(urlPathEqualTo("http://localhost:8080/login")) 
            .withHeader("Content-Type",equalTo("application/json")));       }

}
Run Code Online (Sandbox Code Playgroud)

但是低于错误:

com.github.tomakehurst.wiremock.client.VerificationException: Expected at least one request matching: {
  "urlPath" : "localhosturl/login",

   "method" : "GET",

  "headers" : {
    "Content-Type" : {
      "equalTo" : "application/json"
    }
  }
}

Requests received: [ ]
  at …
Run Code Online (Sandbox Code Playgroud)

java junit mocking wiremock service-virtualization

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

如何将arraylist的多个项目与特定位置的另一个arraylist进行比较?

背景:有产品列表页面,我必须获取所有产品名称(包括缺货产品),然后必须验证所有缺货产品到底.

问题:我已经浏览了所有页面并将产品名称存储在ArrayList中.

让我们说list1和内容是 -

[instant bcaa, vegan bcaa, complete bcaa energy™, branched chain amino acid (bcaa) tablets 1000mg, endure™, branched chain amino acids (bcaa), instant leucine, leucine tablets 1000mg, complete intra-workout™, leucine, bcaa jelly mix, complete hydration drink™, informed bcaa™, instant bcaa cocktail bundle]
Run Code Online (Sandbox Code Playgroud)

现在我有另一个只有Out Of Stock产品的清单

list2 和内容是 -

[informed bcaa™, instant bcaa cocktail bundle]
Run Code Online (Sandbox Code Playgroud)

我必须确保list1是否以相同的顺序包含所有list2项目

java collections arraylist

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