webdriverio(javascript) - 上传图片

时间:2015-12-23 02:16:47

标签: node.js selenium selenium-webdriver webdriver webdriver-io

所以我正在编写测试来上传带有webdriverio javascript的图片

http://webdriver.io/api/utility/chooseFile.html

我猜这是我使用的命令,有人能为我提供一个如何做到这一点的例子吗?

谢谢

2 个答案:

答案 0 :(得分:2)

This是集成测试中的示例。

describe('choosing a file in an <input type=file>', function() {
    before(h.setup());

    var path = require('path');
    var toUpload = path.join(__dirname, '..', '..', 'fixtures', 'cat-to-upload.gif');

    it('uploads a file and fills the form with it', function() {
        return this.client.chooseFile('#upload-test', toUpload).catch(function(err) {
            assert.ifError(err);
        }).getValue('#upload-test').then(function(val) {
            assert.ok(/cat\-to\-upload\.gif$/.test(val));
        });
    });

    it('errors if file does not exists', function() {
        return this.client.chooseFile('#upload-test', '$#$#940358435').catch(function(err) {
            assert.notEqual(err, null);
        });
    });
});

client.chooseFile(选择器,的localPath)。然后(回调);

第一个参数是选择器(输入字段的ID),第二个参数是您要上传的文件的路径。

您只需点击“提交”即可上传文件。请注意,它可能无处不在。 Selenium项目中甚至没有记录所需的文件端点。

答案 1 :(得分:0)

上传图片,

  1. 首先创建一个名为&#39; resources&#39;的文件夹。在项目目录中并将图像保存在该目录中

  2. 使用以下代码上传文件。在第三行中,您需要将选择器替换为应用程序中的选择器。请注意,如果有一个按钮,例如&#34;上传&#34;或者&#34;添加照片&#34;在应用程序中,您需要执行单击此按钮,然后再添加以下代码。

    var path = require("path");
    var toUpload = path.join(__dirname, "..", "resources", 
    "CompanyPic.jpg");
    browser.chooseFile('input[type="file"]', toUpload);