Я разрабатываю приложение с использованием Selenium в JavaScript. Цель состоит в том, чтобы автоматизировать тестирование с использованием модуля селена-драйвера.
Например, приложение использует ввод в качестве JSON ниже:
{
"output": "out",
"actions": [
{
"name": "get",
"args": {
"uri":"http://google.com"
}
},
{
"name": "screenshot",
"args": {
"filename": "home"
}
}
]
}
Поле output
определяет где все потенциальные результаты должны быть сохранены; В поле actions
перечислены все действия, которые будут выполнены во время выполнения.
Здесь первым шагом является загрузка http://google.com. Затем мы берем скриншот и сохраняем его как home .png.
Вот функция, вызываемая для выполнения скриншота. Обратите внимание, что поле args
из JSON выше на самом деле является параметром функции.
execute(client, args) {
client.driver.takeScreenshot().then(data => {
const fs = require('fs');
fs.writeFile(`${client.outputDir}/${args.filename}.png`, data.replace(/^data:image\/png;base64,/,''), 'base64', err => {
if (err) throw err;
});
});
}
Проблема заключается в иногда скриншоте, работающем и сохраняющем дом Google, и иногда просто сохраняю белую картинку.
Я не нахожу кого-то с такой же проблемой, поэтому я надеюсь, что кто-нибудь поможет мне решить эту проблему.