相关疑难解决方法(0)

在pytest中,conftest.py文件有什么用?

我最近发现了pytest.看起来很棒.但是,我觉得文档可能更好.

我正在尝试了解哪些conftest.py文件的用途.

在我(当前很小的)测试套件中,我conftest.py在项目根目录中有一个文件.我用它来定义我注入测试的灯具.

我有两个问题:

  1. 这是正确使用的conftest.py吗?它有其他用途吗?
  2. 我可以拥有多个conftest.py文件吗?我什么时候想这样做?将举例说明.

更一般地说,您如何conftest.py在py.test测试套件中定义文件的目的和正确使用?

python testing pytest

166
推荐指数
5
解决办法
4万
查看次数

如何在Selenium WebDriver中设置浏览器宽度和高度?

我正在使用Selenium WebDriver for Python.我想要实例化具有特定宽度和高度的浏览器.到目前为止,我能得到的最接近的是:

driver = webdriver.Firefox()
driver.set_window_size(1080,800)
Run Code Online (Sandbox Code Playgroud)

哪个有效,但在创建后设置浏览器大小,我希望它在实例化时设置.我猜测有一种方法:

profile = webdriver.FirefoxProfile();
profile.set_preference(foo, 1080)
driver = webdriver.Firefox(profile)
Run Code Online (Sandbox Code Playgroud)

但我不知道foo会是什么,我无法弄清楚文档的位置.

Q1:有没有办法在实例化时设置宽度/高度?

Q2:列出可用的所有密钥的参考文档在哪里profile.set_preference

python selenium screen-resolution selenium-webdriver

61
推荐指数
5
解决办法
8万
查看次数

在Selenium 2中截取测试截图的最佳方法是什么?

我需要一种方法来截取我的功能测试.现在我正在使用Selenium 2和C#绑定.我非常想在测试结束时截取屏幕截图,以确保显示所需的页面.您是否知道我可以将任何特定工具合并到我的C#代码中以触发屏幕截图?我找不到内置的Selenium 2解决方案(没有查看).

c# selenium screenshot webdriver functional-testing

49
推荐指数
4
解决办法
6万
查看次数

Webdriver截图

在使用python的Windows上使用Selenium Webdriver截取屏幕截图时,屏幕截图直接保存到程序的路径中,有没有办法将.png文件保存到特定目录?

python selenium webdriver selenium-webdriver

49
推荐指数
7
解决办法
9万
查看次数

测试d3(和其他基于SVG的)Web应用程序

我有一个Web应用程序,它使用d3库进行一些基于SVG的复杂可视化.

我对我的服务器端代码和JavaScript模型进行了自动化测试(我在JavaScript中使用了类似MVC的体系结构).这些都在每次提交时在Jenkins CI服务器上运行.现在我需要弄清楚如何测试我的观点.

别人如何解决这个问题以及你使用什么工具?

我有过一些想法......

  • 将生成的SVG序列化为文件并与基线进行比较
  • 自动捕获浏览器图像并执行图像差异
  • 别的什么?

谢谢!

javascript browser svg automated-tests d3.js

39
推荐指数
2
解决办法
6373
查看次数

捕获浏览器内容的截图(网站)

我的目标是拥有一个网站的形象(是的,就这么简单).我知道有像html2canvas这样的工具.但是,我不希望客户端浏览器呈现屏幕截图.

一个原因是我使用带有webview的chrome扩展,其基本上与行为相似iFrame.出于安全原因,为包含其的网站呈现屏幕截图iFrame不起作用.

我也知道他们正致力于本机支持捕获网站截图,但我想要一个跨浏览器解决方案而不依赖于浏览器的可能性.所有这些都发生在服务器上,所以它应该可以通过命令行执行.

我现在正在做的是:

  1. 通过命令行打开浏览器
  2. 通过命令行将焦点切换到浏览器窗口
  3. 通过命令行制作屏幕截图(mac上的screencapture,Linux上的scrot)

在这个基本级别进行操作的缺点是图像包含状态栏,浏览器插件等等.实际上我只想拥有实际的网站内容而没有所有这些特定于应用程序的东西.

  • 最糟糕的解决方案是对每个浏览器硬编码相对于窗口的内容的0 | 0位置.这很糟糕(原因很明显).
  • 我提出的另一个解决方案是:告诉浏览器(我可以通过套接字与插件对话)在x:0; y:0;处添加类似QR码的内容,将屏幕截图发送到图像处理服务器.之后删除QR码并再次发送屏幕截图.然后我知道相对于0 | 0的每个点,但它也不那么优雅.

最好的事情是命令行工具,它以某种方式让我确定我想要捕获图像的应用程序的哪个部分.

一个例子是这个插件的Firefox该服务器端工具或所有这些工具提供不同的浏览器和操作系统喜欢的网站截图这样.我想知道他们如何摆脱浏览器特定的GUI元素.

增加:

我不知道我是否足够清楚,但我想要一个特定浏览器内容的截图,但没有浏览器特定的GUI元素.这意味着运行无头浏览器的应用程序对我没用.因为无头浏览器有自己的引擎.我特别希望有一个例如Firefox版本x的屏幕截图.

javascript screenshot google-chrome image-processing webpage-screenshot

23
推荐指数
1
解决办法
6917
查看次数

如何使用Java中的selenium webdriver模拟打印屏幕按钮

如何使用Java中的selenium web驱动程序模拟打印屏幕按钮

此致,Vignesh

java selenium selenium-webdriver

15
推荐指数
1
解决办法
1584
查看次数

将PNG转换为JPEG

我在将简单的PNG转换为JPEG格式时遇到问题.我正在使用以下代码:

...

    File png = new File(filePath);
    try {
        SeekableStream s = new FileSeekableStream(png);
        PNGDecodeParam pngParams = new PNGDecodeParam();
        ImageDecoder dec = ImageCodec.createImageDecoder("png", s, pngParams);
        RenderedImage pngImage = dec.decodeAsRenderedImage();
        JPEGEncodeParam jparam = new JPEGEncodeParam();
        jparam.setQuality(0.50f); // e.g. 0.25f
        File jpeg = new File("jpeg.jpeg");
        FileOutputStream out = new FileOutputStream(jpeg);

        ImageEncoder encoder = ImageCodec.createImageEncoder("JPEG", out, jparam); 

        encoder.encode(pngImage);

        s.close();

    } catch (IOException e) {
        ok = false;
        e.printStackTrace();
    }

    return ok;
}
Run Code Online (Sandbox Code Playgroud)

...

我最终得到了一个JAI异常 - > java.lang.RuntimeException:只能写入1或3波段字节数据.在com.sun.media.jai.codecimpl.JPEGImageEncoder.encode(JPEGImageEncoder.java:148)...

跑出选项.有什么建议吗?

java png jpeg image jai

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

如何在Selenium webdriver中录制视频

我有自动脚本每晚运行(大约350个脚本或测试用例).我想录制每个测试用例的视频(Python脚本).是否有一种工具或方法可用于分别控制每个测试用例的视频录制?

例如,在测试用例设置开始录制期间和拆除停止录制期间,并使用指定的名称和日期在本地保存视频.因此,我应该为每个测试用例提供350个视频(更优选地,仅为失败的测试用例保存视频).

有没有办法在我用于我的设置和拆卸的代码中集成此功能?

python selenium webdriver video-recording selenium-webdriver

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

在C#中使用PhantomJS获取屏幕截图

我已经将PhantomJS和Selenium添加到我的C#控制台应用程序中,我希望在它到达特定元素时拍摄浏览器的屏幕截图.原因是因为出于某种原因,当我使用ChromeDriver时,它工作正常,但是当我使用PhantomJS时,它会在一些元素上失败.

我想我需要介绍如何使用phantomjs在C#中截取屏幕截图.我在互联网上环顾四周,看起来每个人都在用java脚本来做这件事.我遇到的问题是我不知道如何将java脚本集成到我的C#应用​​程序中,然后使用它与phantomJS来获取屏幕截图.如果我能得到一些如何做到这一点的帮助,那将是非常好的.

TLDR:我找到了http://code.tutsplus.com/tutorials/testing-javascript-with-phantomjs--net-28243这就是我想要做但我不知道怎么用我的javascript c#app.

javascript c# selenium phantomjs selenium-webdriver

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