相关疑难解决方法(0)

使用Selenium和python将文件下载到指定位置

好到目前为止,我有我的编程去网站我想下载链接并选择它,然后firefox对话框出现,我不知道该怎么办.我想将此文件保存到桌面上的文件夹中.我正在使用它进行夜间构建,所以我需要这个工作.请帮忙.

这是我从网站上获取下载链接的代码:

driver = web driver.Firefox()
driver.implicitly_wait(5)
driver.get("Name of web site I'm grabbing from")
driver.find_element_by_xpath("//a[contains(text(), 'DEV.tgz')]".click()
Run Code Online (Sandbox Code Playgroud)

python firefox selenium selenium-webdriver

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

下载文件量角器测试用例

我正在编写一个potractor测试用例来下载一个可以是任何类型的文件.

__PRE__

我现在如何检查文件是否正确下载.

angularjs angularjs-e2e protractor

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

用量角器设置firefox配置文件

我希望在禁用缓存功能的情况下使用Firefox /量角器运行测试.(实际上,我正在尝试阻止304 HTTP响应).

有多种方法可以做到这一点:

  • 通过删除Etag标头来禁用后端的缓存 - >我无法修改后端
  • 从前端侧放下Etag标题 - >我试过,它没有用
  • 从firefox禁用缓存:我只需要将标志设置network.http.use-cache为false

手动它有效.我只收到200条回复,这很棒.我希望能够通过量角器配置来设置此标志.经过一些搜索,我发现我必须创建一个自定义配置文件并以这种方式将其设置为量角器(https://code.google.com/p/selenium/wiki/DesiredCapabilities):

capabilities: {
   browserName: 'firefox',
   firefox_profile: 'support/firefox_profile'
 }
Run Code Online (Sandbox Code Playgroud)

问题是不考虑firefox配置文件.这是正确的选择吗?你有更好的主意吗?

谢谢你的帮助.

编辑:作为某人(建议

capabilities: {
  prefs: {
    'config.http.use-cache': false
  }
}
Run Code Online (Sandbox Code Playgroud)

它没有用 - 我检查了about:config,标志仍然启用.您如何知道可以在功能中传递哪些选项?

firefox selenium protractor

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

量角器:在不知道文件名的情况下测试下载文件

我按照这个答案,它看起来几乎是我需要的东西.

问题是他已经知道文件名并且我正在进行e2e测试以下载文件,但文件名取决于当前时间(即使是毫秒)所以我真的不知道名字(或者它会非常困难)为拿到它,为实现它).

我想我在这里错过了一些非常简单的东西,但我想到了两个方面:

  1. 重新创建文件名(使用返回此文件名称的相同函数)并开始检查具有该名称的文件是否存在(如果不存在),然后移动到下一毫秒,直到我找到正确的名称.
  2. 检查下载文件夹中是否存在"any"文件,如果我在那里找到一个,那么它应该是我正在下载的文件(对于这种情况,我不知道如何在量角器中检查整个文件夹).

希望你们能帮助我们提供这些替代方案(我希望对第2点有所帮助)或者给我一个更好的选择.谢谢

jasmine selenium-webdriver protractor

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

在量角器测试中设置chromedriver首选项

试图在我的测试期间找到一个下载文件的解决方案,我发现这个问题引导我在chrome文件夹中找到首选项文件.

显然,没有关于关闭下载提示或/和设置默认文件夹的信息.有谁知道我怎么做到这一点?

这是我试过的:

capabilities: {
        'browserName': 'chrome',
        'chromeOptions': {

            prefs: {
                'downloads': {
                    'prompt_for_download': false,
                    'default_directory': '/downloads/'
                }
            }
        }
    },
Run Code Online (Sandbox Code Playgroud)

javascript selenium-chromedriver protractor

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

使用Nightwatch.js测试下载链接

我正在尝试使用Nightwatch.js构建自动化测试,以验证软件下载链接是否正常工作.我不想下载的文件,因为它们是相当大的,我只是想确认相应的链接返回一个200 HTTP响应,以确保这些链接指向正确的位置.

有想法用Nightwatch.js测试链接到可下载文件的方法吗?

这是我现在拥有的:

/**
 * Test Software Downloads
 * 
 * Verify that software downloads are working 
 */

module.exports = {
    "Download redirect links": function (browser) {

        // download links
        var downloadLinks = {
            "software-download-latest-mac": "http://downloads.company.com/mac/latest/",
            "software-download-latest-linux": "http://downloads.company.com/linux/latest/",
            "software-download-latest-win32": "http://downloads.company.com/windows/32/latest/",
            "software-download-latest-win64": "http://downloads.company.com/windows/64/latest/"
        };

        // loop through download links
        for (var key in downloadLinks) {
            if (downloadLinks.hasOwnProperty(key)) {

                // test each link's status
                browser
                    .url(downloadLinks[key]);
            }
        }

        // end testing
        browser.end();
    }
};
Run Code Online (Sandbox Code Playgroud)

javascript selenium nightwatch.js

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

在prefs中设置false后,仍会出现Prompt_for_download

我有以下配置,并已将prompt_for_download设置为false但由于某种原因,当我运行测试时,提示下载对话框一直出现.难道我做错了什么?

对于下载代码,我正在关注此处的解决方案和ChromeDriver 2.14.

谢谢.

capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
        args: ['--lang=en', '--start-maximized'],
        prefs: {
            'download': {
                'prompt_for_download': false,
                'default_directory': '/tmp/downloads',
            },

        },

    },
},
Run Code Online (Sandbox Code Playgroud)

google-chrome selenium-chromedriver protractor

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

Angular 6 - 使用 Protractor 测试文件下载时,如何设置文件目的地的相对路径

我需要下载 CSV 并在 Protractor 测试中检查其内容。测试作为我们部署过程的一部分运行,因此此下载的路径需要是相对的。

查看其他解决方案,我在 /e2e 创建了一个名为 download 的文件夹并将其添加到我的protractor.conf.js

capabilities: {
      browserName: 'chrome',
      chromeOptions: {
          args: ['--disable-gpu']
      },
      prefs: {
        'download': {
          'prompt_for_download': false,
          'default_directory': '/e2e/download'
        }
      }
    },
Run Code Online (Sandbox Code Playgroud)

这是原始测试,单击按钮下载文件,然后检查本地下载文件夹中的内容(下载本身实际运行后需要更改)。

  it('should export the csv', () => {
    const filename = '../../../Downloads/new_Name_List_members.csv';
    const exportButton = testUI.findElementBy({findBy: 'buttonText', value: 'Export to CSV'});
    exportButton.click().then(() => {
      browser.driver.wait(function() {
        // Wait until the file has been downloaded.
        return fs.existsSync(filename);
      }, 5000).then(function() {
        expect(fs.readFileSync(filename, { encoding: 'utf8' })).toContain('username,email,name');
      });
    }); …
Run Code Online (Sandbox Code Playgroud)

protractor angular

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

无法阻止量角器显示文件下载提示

问题

我正在测试下载文件,但是当我触发下载时,会出现"另存为..."提示.我在这个SO问题中看到了一个解决方案,但它似乎对我不起作用.

配置

我的量角器配置文件看起来像这样(coffeescript):

exports.config =
  capabilities:
    browserName: "chrome"
    shardTestFiles: true
    maxInstances: 2
    chromeOptions:
      args: ['--no-sandbox', '--test-type=browser']
      prefs:
        download:
          prompt_for_download: false
          default_directory: '/'
          default_content_settings:
            popups: 0
Run Code Online (Sandbox Code Playgroud)

更多

chromeOptions.pref webdriver文档上说:

有关示例,请参阅Chrome用户数据目录中的"首选项"文件.

我实际上无法default_directory在自己的Chrome偏好设置文件中看到.

"download": {
  "directory_upgrade": true,
  "prompt_for_download": false
},
Run Code Online (Sandbox Code Playgroud)

系统

  • 量角器:1.5.0版(相当新)
  • 节点:0.10.28,0.11.8和0.11.14

testing google-chrome angularjs selenium-webdriver protractor

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

量角器 - 无法找到下载的文件 - 在 Chrome 上下载测试

我想在 Google Chrome 上运行文件下载的 e2e 测试。我提到了几篇文章,包括量角器 - Jasmine - 将文件下载到相对路径用于下载 pdf 文件的量角器 e2e 测试用例在量角器测试中设置 chromedriver 首选项,但它们并没有让我满意。

这是我的量角器配置的简短介绍。

    ...
    'os': 'Windows',
    'os_version': '8.1',
    'browserName': 'Chrome',
    'version': '55',
    'chromeOptions': {
        args: ['--no-sandbox', '--test-type=browser'],
        prefs: {
            download: {
                'prompt_for_download': false,
                'directory_upgrade': true,
                'default_directory': '/tmp'
            }
        }
    }
    ...
Run Code Online (Sandbox Code Playgroud)

这是我的测试规范。

    it('file download test', () => {
        let filePath = path.resolve('/tmp/' + download-filename);
        // unlink(filePath);

        // click on a link by invoking anchor_element.click()
        // at the moment, file download …
Run Code Online (Sandbox Code Playgroud)

download protractor

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

量角器-茉莉花-下载文件到相对路径

我已阅读并关注以下问题及其评论/答案:

问题1

问题2

问题3

但是找不到不使用的方法absolutePath,因为我需要在另一台机器上运行此测试,因此,我需要相对于项目,而没有相对于其外部的其他文件夹。我该怎么做?

jasmine selenium-webdriver protractor

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