Как программно нажать кнопку «ОК»?

Как программно нажать кнопку ОК в предупреждении JS?

Что я хочу сделать: каждый раз после создания предупреждения нажимается кнопка ОК.

Это для теста пользовательского интерфейса с использованием Selenium RC.

Также я уже проверил: Нажмите кнопку ОК внутри оповещения (Selenium IDE).

Редактировать: я уже использовалchooseOkOnNextConfirmation() и поместил его, прежде чем нажать на кнопку, сгенерированное предупреждение. Я также попытался поместить это после. Ничего не сработало!

Ответы на вопрос(8)

атия клавиш. Он доступен в платформе GraphicsServices, это частный фреймворк (поэтому вы не можете отправить его в appstore).

$this->chooseOkOnNextConfirmation();
$this->click('locator');
$this->getConfirmation();

используя Selenium RC с PHPUnit

что может управлять браузером (например, селен).

Если ты используешь селен, посмотри на Нажмите кнопку ОК внутри оповещения (Selenium IDE)

работает на меня в Selenium RC.

Мы должны прокомментировать код кнопки оповещения OK, тогда она будет работать.

С помощью ChooseOkOnNextConfirmation вы можете сделать это.

selenium.chooseOkOnNextConfirmation();  // prepares Selenium to handle next alert
selenium.click(locator);
String alertText = selenium.getAlert(); // verifies that alert was shown
assertEquals("This is a popup window", alertText);

Для получения дополнительной информации перейдите по этой ссылкессылк

это невозможно. Селен должен справиться с этим для вас. Но, как указано в документации Selenium:

Selenium пытается скрыть эти диалоги от вас (заменив window.alert, window.confirm и window.prompt), чтобы они не остановили выполнение вашей страницы. Если вы видите всплывающее окно с предупреждением, возможно, это связано с тем, что оно срабатывало во время загрузки страницы, что обычно слишком рано для защиты страницы.

Это известное ограничение Selenium RC (и, следовательно, Selenium IDE) и одна из причин, по которым был разработан Selenium 2 (WebDriver). Если вы хотите пойматьonload JS оповещения, вам нужно использовать WebDriver обработка.

Тем не менее, вы можете использоватьRobot илиselenium.keyPressNative(), чтобы заполнить любой текст и нажмитеВойт и подтвердить диалог вслепую. Это не самый чистый способ, но это может сработать. Вы не сможете получитьalert сообщение, однако.

Robot имеет все полезные ключи, сопоставленные с константами, так что это будет легко. СkeyPressNative(), ты хочешь использовать10 как значение для нажатияВойт или27 для Esc так как работает сASCII коды.

ты хочешь попробовать этот код в show alert и ок, и кнопка отмены

let sharephotoAction = UIAlertController.init(title: "Confirm Ticket", message:"Please Collect Your Ticket Before 1 Hours Ago in Location", preferredStyle: .alert )
        sharephotoAction.addAction(UIAlertAction(title: "Ok", style: .default, handler: { (alertAction) in

            _ = Timer.scheduledTimer(timeInterval: 0.5, target: self, selector: #selector(self.Save), userInfo: nil, repeats: false)

        }))
        sharephotoAction.addAction(UIAlertAction(title: "Cancle", style: .default, handler:nil))

        self.present(sharephotoAction, animated: true, completion:nil)

то это отключит предупреждение. Однако вам лучше делать это извне, чтобы оповещение не появлялось в первую очередь, поскольку оно, как правило, блокирует.

Если это JavaScript, вам лучше использоватьconsole.log().

ВАШ ОТВЕТ НА ВОПРОС