t.me/atinfo_chat Telegram группа по автоматизации тестирования

Тестирование загрузки файла WebdriverIO 4v.

Теги: #<Tag:0x00007fd76ddcc368> #<Tag:0x00007fd76ddcc200> #<Tag:0x00007fd76ddcc0c0>

Проблема (Вопрос) заключается …
Не удается смоделировать выбор и загрузку файла
Я попытался сделать с помощью данного кода

Код

    browser.click("//input[@id='order_signed_contract_of_sale']")

     // browser.waitUntil(() => {
    
   const filePath = path.join(__dirname, '123.png');
    
     filePath.keys("\uE007")
   browser.file(filePath);
code

Логи и ошибка вот такая …

An element could not be located on the page using the given search parameters.

Версии ОС и софта следующие …
Ubuntu 16.04
Webdriver IO 4

надо не кликать в инпут, а сразу в него сделать sendkeys путь до файла

Спасибо за ответ.
Но код sendkeys не работает.

const filess = $("//input[@id='order_signed_contract_of_sale']")
filess.sendKeys('123.png');
sendKeys is not a function

Или может я что то не так делаю .
Прошу оказать техническую поддержку .

ну keys в вашем случае :exploding_head:

Попробуйте через chooseFile (http://v4.webdriver.io/api/utility/chooseFile.html)

Спасибо за ответ. Но файл не загружается.

const filess = $("//input[@id='order_signed_contract_of_sale']")
const filePath = path.join(__dirname, '123.png');
browser.chooseFile(filess, filePath)

chooseFile первым аргументом принимает стрингу, попробуйте так:

const filess ="input#order_signed_contract_of_sale";
const filePath = path.join(__dirname, '123.png');
browser.chooseFile(filess, filePath)

Либо

const filess = $("//input[@id='order_signed_contract_of_sale']")
const filePath = path.join(__dirname, '123.png');
filess.chooseFile(filePath)

Рабочая версия:

var path = require('path');
    const filePath = path.join(__dirname, '123.png');
    browser.chooseFile("//input[@id='user_eugrl']", filePath)

Ха, то есть мои две версии выше не рабочие?)

Рабочие )!0)) . Спасибо за помощь.