2014-01-16 2 views
0

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

+0

Вы можете переопределить команду wait, которая могла быть объявлена ​​во время создания драйвера. Вы можете сократить время ожидания и затем перейти к следующему полю. Также могут появляться поля, основанные на определенных условиях. Если вы знаете условия, вы можете создать код только для этих полей и, возможно, не обязательно ждать полей. – Vinay

+0

В каком браузере и с помощью какого локатора? – Arran

+0

@Arran: В FF я использую эти локаторы: xpath, id, name linktext и css. – Husam

ответ

0

Как предложено Vinay, вы можете сократить определенное количество времени выполнения, но не полностью.

Не требуется ли время, когда вы тестируете его вручную? Если общее время выполнения сценария занимает больше времени, чем выполнение вручную, этот сценарий не является хорошим кандидатом для автоматизации. Но если время меньше, чем делать вручную, то все равно стоит потратить.

+0

Как я уже говорил, производительность улучшилась за счет уменьшения неявного ожидания. Да, время и усилия меньше, чем руководство. Я говорил о максимальной эффективности. Я думаю, как вам сказали, это лучшая производительность, которая может быть достигнута в этом случае. – Husam

0

Это зависит от скорости приложения. когда вы в состоянии сделать это в manual.It возможно в автоматизации тоже. Мы могли бы сбросить неявное время ожидания, чтобы ускорить процесс.

driver.manage(). Timeouts(). ImplicitlyWait (0, TimeUnit.SECONDS);

Не забудьте установить время, чтобы использовать его снова.