Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过selenium自动化测试json Web服务?_Javascript_Node.js_Selenium_Selenium Webdriver - Fatal编程技术网

Javascript 如何通过selenium自动化测试json Web服务?

Javascript 如何通过selenium自动化测试json Web服务?,javascript,node.js,selenium,selenium-webdriver,Javascript,Node.js,Selenium,Selenium Webdriver,我想对许多web服务(json)进行自动化测试。我怎么用这个?我的json: { 数据:[ { id:“TPN_IT_2010”, 类型:1, 名称:“埃索,那不勒斯”, a:“意大利那不勒斯200号佛利亚大道,邮编80100”, b:40.859654, c:14.262477, d:[], e:[] }, { id:“TPN_IT_2005”, 类型:1, 名称:“埃索,那不勒斯”, a:“意大利那不勒斯,80142,伽利略法拉利44/50”, b:40.850298527, c:14.2

我想对许多web服务(json)进行自动化测试。我怎么用这个?我的json:

{
数据:[
{
id:“TPN_IT_2010”,
类型:1,
名称:“埃索,那不勒斯”,
a:“意大利那不勒斯200号佛利亚大道,邮编80100”,
b:40.859654,
c:14.262477,
d:[],
e:[]
},
{
id:“TPN_IT_2005”,
类型:1,
名称:“埃索,那不勒斯”,
a:“意大利那不勒斯,80142,伽利略法拉利44/50”,
b:40.850298527,
c:14.2760413885,
d:[],
e:[]
}
]
}

我的selenium node.js是:


var webdriver=require(“selenium webdriver”);
var chrome=require(“selenium webdriver/chrome”);
var capabilities=webdriver.capabilities.chrome();
process.env[“PATH”]+=“:/home/user/src/selenium/”;
var options=new chrome.options();
var driver=new webdriver.Builder()。
withCapabilities(options.toCapabilities()).build()

驱动程序。获取(“”)

driver.getTitle().then(函数(标题){ 控制台日志(标题); });

driver.quit();

如何访问json web服务:
可用性
HTTP状态
Json响应格式

字段(正确的信息)

您确定Selenium是正确的工具吗

如果您正在测试web服务,则无需打开浏览器,因此无需使用Selenium

您可以创建HTTP客户机并发出请求,然后以与在Selenium上断言相同的方式断言响应,而不是实例化WebDriver实例。您可以断言响应代码、标题、响应数据等。它还允许您调用其他方法,如POST、PUT、PATCH等,而使用webbrowser将限制您获取。此外,您的测试将更快、更易于多线程运行,并且可以在构建服务器上运行,而无需网格


我不了解NodeJS中最好的HTTP客户端库的最新情况,但我确信有很多选项

您确定Selenium是正确的工具吗

如果您正在测试web服务,则无需打开浏览器,因此无需使用Selenium

您可以创建HTTP客户机并发出请求,然后以与在Selenium上断言相同的方式断言响应,而不是实例化WebDriver实例。您可以断言响应代码、标题、响应数据等。它还允许您调用其他方法,如POST、PUT、PATCH等,而使用webbrowser将限制您获取。此外,您的测试将更快、更易于多线程运行,并且可以在构建服务器上运行,而无需网格

我不了解NodeJS中最好的HTTP客户机库的最新情况,但我确信有很多选择

可能是答案吗

  describe('json', function () {
    it('json contents', done => {
      driver.get(url + '/data.json')
      driver.findElement(By.tagName('body')).getText().then( v => {
        expect(v).to.equal('{}')
        done()
      })
    })
  })
答案可能是什么

  describe('json', function () {
    it('json contents', done => {
      driver.get(url + '/data.json')
      driver.findElement(By.tagName('body')).getText().then( v => {
        expect(v).to.equal('{}')
        done()
      })
    })
  })