Selenium IDE и Javascript

Я делаю программу для автоматизации брутфорса неизвестной переменной в веб-форме. это мой первый проект в области кодирования, и я использую его, чтобы больше узнать об этих языках в более практическом плане. Я использую дополнение селена для Firefox, чтобы записывать движения моего браузера, и я пытаюсь использовать JavaScript, чтобы сделать мой сценарий более функциональным.

В основном я пытаюсь найти правильное значение для х. мой сценарий селена заполняет всю форму и отправляет форму. то, что я хотел бы сделать, это сделать так, чтобы в случае, если переменная "x" была неправильной и веб-страница выдавала ошибку, скрипт вернется назад и снова заполнит форму, но вместо этого использует следующее значение для "x" из списка файл, который содержит все возможные значения для переменной "x", затем снова отправляет форму и повторяет это действие до тех пор, пока не найдет правильное значение, что позволяет загружать запрос без каких-либо ошибок.

вот мой код селена до сих пор:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="https://website" />
<title>New Test</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">New Test</td></tr>
</thead><tbody>
<tr>
<td>open</td>
<td>/</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[@id='header']/div[2]/div[2]/button</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[@id='header']/div[2]/div[2]/button</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//div[@id='modal']/div/div/div/div/div[5]/a/span</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>name=Name</td>
<td>john doe</td>
</tr>
<tr>
<td>click</td>
<td>name=Date</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>name=Date</td>
<td>01/15/2018</td>
</tr>
<tr>
<td>click</td>
<td>name=string1</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>name=string1</td>
<td>blahblah</td>
</tr>
<tr>
<td>click</td>
<td>name=string2</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>name=state</td>
<td>JJ</td>
</tr>
<tr>
<td>type</td>
<td>name=string 3</td>
<td>blahblahblah</td>
</tr>
<tr>
<td>click</td>
<td>name=string4</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>name=Xvariable</td>
<td>&quot;xxx&quot;</td>
</tr>
<tr>
<td>click</td>
<td>//button[@type='submit']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//button[@type='submit']</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>name=Xvariable</td>
<td>&quot;xxx&quot;&lt;/td&gt; #&lt;-----i want to take the next value in         the list that i have and insert it here<br />&lt;/tr&gt;<br />&lt;tr&gt;
<br />  &lt;td&gt;click&lt;/td&gt;<br />    &lt;td&gt;//button[@type='submit']&lt;/td&gt;<br /> &lt;td&gt;</td>
 </tr>
<tr>
<td>click</td>
<td>//button[@type='submit']</td>
<td></td>
</tr>
#repeat the code again and again til "xxx" is valid and log how many iterations til that value was found
</tbody></table>
</body>
</html>

1 ответ

я собираюсь написать цикл в javascript, чтобы продолжать возвращаться и брать новое значение из списка слов, чтобы каждый раз заменять "X"

С новой интегрированной средой разработки Kantu Selenium вы можете использовать встроенную программу чтения списков CSV с помощью команды csvRead (= Javascript не требуется). Затем вы запускаете тестовый набор с помощью кнопки "Цикл" и затем можете переключаться между списками слов.:

Целью csvRead является чтение данных из файла CSV. Каждый цикл макроса читает одну строку файла CSV и делает данные доступными с внутренними переменными ${!COL1}, ${!COL2},....

Важное замечание: Чтобы отправить не только первую строку CSV-файла, необходимо запустить макрос с помощью кнопки LOOP. Каждый цикл читает одну строку CSV. Чтение строки основано на значении переменной счетчика ${!LOOP}. Если вы запустите цикл с 5 до 10, он будет читать строки с 5 по 10 из файла CSV.

Другие вопросы по тегам