程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Nightwatch.js中的文件上传测试大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Nightwatch.js中的文件上传测试?

开发过程中遇到Nightwatch.js中的文件上传测试的问题如何解决?下面主要结合日常开发的经验,给出你关于Nightwatch.js中的文件上传测试的解决方法建议,希望对你解决Nightwatch.js中的文件上传测试有所启发或帮助;

我的SETVALue()方法实现有两个单独的问题。

  1. 在Nightwatch命令中使用–verbose标记导致我遇到一个问题,即在期间实际上找不到输入标签SETVALue(),而在期间发现了输入标签 waitForElementVisible()。改变input[type="file"]input#fileUpload解决这个问题。

  2. 其次,以下描述路径的方法不起作用…

    • 'textfile.txt'
    • 'http://localhost:3000/testfile.txt' (如果在文件上传窗口中手动输入,将可以使用)

工作正在使用什么 require('path').resolve(__dirname + '/testfile.txt')

在这里 看一看,以了解导致该修复程序的讨论。感谢Richardard- flosi。

@H_210_3@module.exports = {
  "Standard file Upload" : function (browser) {
    browser
      .url("http://localhost:3000")
      .waitForElementVisible('body', 1000)
      .waitForElementVisible('input#fileUpload', 1000)
      .pause(1000)
      .SETVALue('input#fileUpload', require('path').resolve(__dirname + '/testfile.txt')) // Works
//      .SETVALue('input#fileUpload', "testfile.txt") // Will not work
//      .SETVALue('input#fileUpload', "http://localhost:3000/testfile.txt") // Will not work
//      .SETVALue('input[type="file"]', require('path').resolve(__dirname + '/testfile.txt')) // Will not work
      .click('#submit')
      .pause(1000)
      .assert.containsText('h3', 'file Uploaded successfully')
      .end();
  }
};

解决方法

我想重新讨论提出的有关在使用SELEnium的Nightwatch.js中测试文件上传的问题。

推荐使用两个链接将文件输入元素的值设置为url的解决方案。在我的用例中,我无法使其正常工作。即使在夜视之外,在的输入中手动设置value标签type="file",也不会更改url。我已经在开发工具中的Chrome,Firefox和IE10上进行了尝试。

我看过的另一种解决方案是尝试模拟整个文件上传过程的击键。这将遵循以下路径:单击文件上传按钮,键入路径,然后键入Enter。这可以通过.click.key方法完成。但是,您将失去对实际文件上传窗口的关注,这会延迟击键,直到关闭该窗口。其他开发人员似乎能够使用Java中的.findElement.sendKeys方法直接在SELEnium中修复此解决方案,但我不知道如何在javascript和守夜本身中执行此操作。

有任何想法吗?

// My test
      module.exports = {
      "Standard File Upload" : function (browser) {
        browser
          .url("http://localhost:3000")
          .waitForElementVisible('body',1000)
          .waitForElementVisible('input[type="file"]',1000)
          .SETVALue('input[type="file"]','http://localhost:3000/testfile.txt')
          .click('#submit')
          .pause(1000)
          .assert.containsText('h3','File Uploaded successfully')
          .end();
      }
    };

// http://localhost:3000/testfile.txt was tested manually in the file upload window and worked successfully

<!-- My input tag --> 
<input id="fileUpload" type="file" name="textfile"/>

大佬总结

以上是大佬教程为你收集整理的Nightwatch.js中的文件上传测试全部内容,希望文章能够帮你解决Nightwatch.js中的文件上传测试所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。