【发布时间】:2022-01-22 13:05:09
【问题描述】:
我正在为我正在开发的网络应用程序设置第一个自动化测试,并且遇到了我不理解的状态。
它是一个浏览器应用程序,所以我启动了一个非常简单的静态服务器:
import http from 'http';
let serve = serveStatic(path);
server = http.createServer(function(req, res) {
var done = finalhandler(req, res);
serve(req, res, done);
});
在测试期间,我收到一条错误消息HTTP method not allowed
let options = new firefox.Options();
options.headless();
let capabilities = webdriver.Capabilities.firefox().set('acceptInsecureCerts', true);
let driver = new webdriver.Builder()
.forBrowser('firefox')
.setFirefoxOptions(options)
.withCapabilities(capabilities)
.build();
await driver.get('http://127.0.0.1:3030/index.html');
let tab = await driver.findElement(state.By.css('ps-tabpanel'));
tab = await tab.getShadowRoot(); // HTTP method not allowed
凭直觉,我将其更改为HTTPS 连接
import http from 'https';
在这种情况下,我收到一个非常不同的错误
await driver.get('https://127.0.0.1:3030/index.html');
// Reached error page: about:neterror?e=nssFailure2&u=https%3A//127.0.0.1%3A3030/index.html&c=UTF-8&d=%20
所以我的主要问题是,我在使用 Javascript Selenium 访问 shadowRoot 时做错了什么?
供参考
- 摩卡+硒+火狐
- gitpod 环境
- 有一个较早的测试,只是验证我可以连接到
example.com,只是为了证明连接正常。
【问题讨论】:
-
将协议从 HTTP 切换到 HTTPS 与修复 HTTP 方法错误无关。
-
有什么相关的建议吗?
-
你的服务器运行了吗?
-
它找到了 html 元素,所以是的。 (也可以手动浏览,在页面上查找文字)
标签: javascript selenium shadow-dom