Javascript 如何通过selenium自动化测试json Web服务?
我想对许多web服务(json)进行自动化测试。我怎么用这个?我的json: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
{
数据:[
{
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()
})
})
})