标签: automated-tests

使用Python在Selenium WebDriver中获取WebElement的HTML源代码

我正在使用Python绑定来运行Selenium WebDriver.

from selenium import webdriver
wd = webdriver.Firefox()
Run Code Online (Sandbox Code Playgroud)

我知道我可以抓住这样的一个元素......

elem = wd.find_element_by_css_selector('#my-id')
Run Code Online (Sandbox Code Playgroud)

而且我知道我可以获得完整的页面来源...

wd.page_source
Run Code Online (Sandbox Code Playgroud)

但无论如何要获得"元素来源"?

elem.source   # <-- returns the HTML as a string
Run Code Online (Sandbox Code Playgroud)

用于Python的selenium webdriver文档基本上不存在,我在代码中看不到任何似乎启用该功能的内容.

有关访问元素(及其子元素)的HTML的最佳方法的任何想法?

python selenium automated-tests webdriver selenium-webdriver

434
推荐指数
7
解决办法
38万
查看次数

调试"元素在点上无法点击"错误

我只在Chrome中看到这一点.

完整的错误消息显示:

"org.openqa.selenium.WebDriverException:元素在点(411,675)处不可点击.其他元素将收到点击:..."

"将接收点击"的元素位于相关元素的一侧,而不是位于其上方且不与其重叠,而不是在页面上移动.

我试过添加一个偏移量,但这也不起作用.该项目位于显示的窗口上,无需滚动.

selenium automated-tests google-chrome selenium-webdriver

371
推荐指数
16
解决办法
43万
查看次数

在Selenium中输入Enter/Return键

我正在寻找一种在Selenium中输入和输入或返回键的快捷方式.不幸的是,我试图测试的表单(不是我自己的代码,所以我无法修改)没有提交按钮.手动使用时,我只需输入ENTERRETURN.我需要知道如何使用Selenium type命令执行此操作,因为没有可单击的按钮.

selenium automation automated-tests enter keypress

236
推荐指数
13
解决办法
53万
查看次数

什么是MSTest中[TearDown]和[SetUp]的替代品?

当我使用MSTest Framework,并复制Selenium IDE为我生成的代码时,MSTest无法识别[TearDown][SetUp].有什么替代方案?

c# selenium automated-tests mstest

232
推荐指数
4
解决办法
8万
查看次数

什么是最成熟的.NET BDD框架?

我们一直在使用BDD - 行为驱动开发(来自Dan North的观点)作为记录用户验收测试并推动几个项目开发的机制,取得了不错的成功.到目前为止,我们实际上并没有实际自动化测试.

我现在正在考虑自动化测试,但我不确定要支持哪种行为框架.到目前为止,NBehave似乎是先行者 - 但还有其他我应该关注的吗?目前是否有明确的"赢家"?

.net bdd automated-tests

214
推荐指数
7
解决办法
5万
查看次数

使用Selenium将元素滚动到视图中

在Selenium 1.x或2.x中是否有任何方法可以滚动浏览器窗口,以便XPath识别的特定元素可以在浏览器中查看?Selenium中有一个焦点方法,但它似乎没有在FireFox中物理滚动视图.有没有人对如何做到这一点有任何建议?

我需要这个的原因是我正在测试页面上元素的点击.不幸的是,除非元素可见,否则事件似乎不起作用.我无法控制单击该元素时触发的代码,因此我无法对其进行调试或修改,因此,最简单的解决方案是将项目滚动到视图中.

selenium scroll automated-tests

185
推荐指数
12
解决办法
38万
查看次数

Selenium c#Webdriver:等到元素存在

我想确保在webdriver开始执行操作之前存在一个元素.

我正试图让这样的东西起作用:

WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0,0,5));
wait.Until(By.Id("login"));
Run Code Online (Sandbox Code Playgroud)

我主要是在努力设置如何设置任何功能..

c# selenium automated-tests webdriver selenium-webdriver

173
推荐指数
7
解决办法
33万
查看次数

在jest.setTimeout指定的5000ms超时内未调用异步回调

我正在使用木偶戏和开玩笑来进行一些前端测试.

我的测试看起来如下:

describe("Profile Tab Exists and Clickable: /settings/user", () => {
    test(`Assert that you can click the profile tab`, async () => {
      await page.waitForSelector(PROFILE.TAB);
      await page.click(PROFILE.TAB);
    }, 30000);
});
Run Code Online (Sandbox Code Playgroud)

有时,当我运行测试时,一切都按预期工作.其他时候,我收到一个错误:

Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.

      at node_modules/jest-jasmine2/build/queue_runner.js:68:21
      at Timeout.callback [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:633:19)
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为:

  1. 我指定超时为30000

  2. 我是否得到这个错误似乎非常随机

任何人都可以猜到为什么会这样吗?

javascript automated-tests jestjs puppeteer

152
推荐指数
16
解决办法
9万
查看次数

JUnit混淆:使用'extends TestCase'还是'@Test'?

我发现JUnit的正确使用(或至少是文档)非常令人困惑.这个问题既可作为未来参考,也可作为真正的问题.

如果我理解正确,有两种主要的方法来创建和运行JUnit测试:

方法A(JUnit 3-style):创建一个扩展TestCase的类,并用该单词启动测试方法test.当作为JUnit Test(在Eclipse中)运行该类时,test将自动运行以该单词开头的所有方法.

import junit.framework.TestCase;

public class DummyTestA extends TestCase {

    public void testSum() {
        int a = 5;
        int b = 10;
        int result = a + b;
        assertEquals(15, result);
    }
}
Run Code Online (Sandbox Code Playgroud)

方法B(JUnit 4-style):创建一个"普通"类并@Test在方法前加一个注释.请注意,您不必使用单词启动方法test.

import org.junit.*;
import static org.junit.Assert.*;

public class DummyTestB {

    @Test
    public void Sum() {
        int a = 5;
        int b = 10;
        int result = a + b;
        assertEquals(15, result);
    }
}
Run Code Online (Sandbox Code Playgroud)

混合两者似乎不是一个好主意,请参阅例如 …

java junit automated-tests

149
推荐指数
4
解决办法
7万
查看次数

WatiN还是Selenium?

我将很快开始编写一些自动化测试.似乎每个人都推荐WatiNSelenium.您更喜欢哪种自动测试ASP.NET Web表单?哪些产品更适合您?

作为旁注,我注意到WatiN 2.0自2008年3月以来一直在CTP中,是否值得关注?

asp.net selenium automation watin automated-tests

147
推荐指数
9
解决办法
5万
查看次数