Я использую NodeJS, Mocha & Selenium для автоматизации заполнения моего расписания, и у меня возникла проблема с ожиданием формы входа.
URL-адрес «https://timesheet.mydomain.com/timesheet.aspx» откроет перенаправление на Страница входа в систему моей компании, и мне нужно подождать, пока не станут видны входные данные для входа.
Текстовое поле имени пользователя можно определить по идентификатору - идентификатору пользователя, и я добавил строку ниже, чтобы дождаться его видимости. Однако он не может дождаться и выдает следующую ошибку.
Как мне это исправить? Я попытался найти решения для этого в уже отвеченных вопросах в Stackoverflow и других форумах, но не смог. Пожалуйста, помогите исправить это.
Protractor Async / Await Error: Необработанное отклонение обещания
const { Builder, By, Key, until } = require('selenium-webdriver')
const assert = require('assert')
describe('Timesheet', function() {
this.timeout(30000)
let driver
let vars
beforeEach(async function() {
driver = await new Builder().forBrowser('chrome').build()
vars = {}
})
afterEach(async function() {
await driver.quit();
})
it('Timesheet', async function() {
await driver.get("https://timesheet.mydomain.com/timesheet.aspx")
await driver.manage().window().setRect(1920, 1053)
await driver.wait(until.elementIsVisible(await driver.findElement(By.id("userid"))), 60000)
await driver.findElement(By.id("userid")).sendKeys("userid@mydomain.com")
await driver.findElement(By.id("userid")).sendKeys(Key.ENTER)
})
})
. / Node_modules / .bin / mocha timeSheet. js
Timesheet:
NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"*[id="userid"]"}
(Session info: chrome=83.0.4103.116)
at Object.throwDecodedError (node_modules/selenium-webdriver/lib/error.js:550:15)
at parseHttpResponse (node_modules/selenium-webdriver/lib/http.js:565:13)
at Executor.execute (node_modules/selenium-webdriver/lib/http.js:491:26)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async Driver.execute (node_modules/selenium-webdriver/lib/webdriver.js:700:17)
at async Context.<anonymous> (timeSheet.js:18:46)