Могу ли я показать всплывающее окно для пользователя, чтобы выполнить действие в Selenium - PullRequest
0 голосов
/ 27 ноября 2018

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

TIA

1 Ответ

0 голосов
/ 27 ноября 2018

Да.Когда появляется предупреждение, селен не выполняет никаких действий, пока предупреждение не будет подтверждено или закрыто (вручную или путем выполнения кода).Я использую несколько примеров:

public void msg(String string_msg, String string_tit) {
    JDialog dialog = new JDialog();
    dialog.setAlwaysOnTop(true);  
    JOptionPane.showMessageDialog(dialog, string_msg, string_tit, JOptionPane.INFORMATION_MESSAGE);
}
public void msg_opt(String string_msg, String string_tit) {
    Object[] btn_text = {"Continue"};       
    JDialog dialog = new JDialog();
    dialog.setAlwaysOnTop(true);  
    JOptionPane.showOptionDialog(dialog, string_msg, string_tit, JOptionPane.INFORMATION_MESSAGE, JOptionPane.OK_OPTION, null, btn_text, null);
}
public void msg_results(String string, String[] strings) {
    JDialog dialog = new JDialog();
    dialog.setAlwaysOnTop(true);
    dialog.setLocation(700, 800);
    JOptionPane.showMessageDialog(dialog, strings, get_results_title(), JOptionPane.INFORMATION_MESSAGE);
}
public void msg_sms_results(String string, String[] strings) {
    JDialog dialog = new JDialog();
    dialog.setAlwaysOnTop(true);
    dialog.setLocation(1100, 880);
    JOptionPane.showMessageDialog(dialog, strings, string, JOptionPane.INFORMATION_MESSAGE);
}
public void msg_err(String string_msg, String string_tit) {
    final JDialog dialog = new JDialog();
    dialog.setAlwaysOnTop(true);
    JOptionPane.showMessageDialog(dialog, string_tit, string_msg, JOptionPane.ERROR_MESSAGE, null);
}

Можно использовать даже некоторые элементы пользовательского интерфейса.Другой пример:

public void uvodni_nastaveni() {        
    JCheckBox b1 = new JCheckBox("Zobrazovat dialogy s výsledky", false);
    JCheckBox b2 = new JCheckBox("Archivovat soubor s výsledky", true);
    JCheckBox b3 = new JCheckBox("Po dokončení smazat exportní soubory", true);     
    JDialog dialog = new JDialog();
    Box box = Box.createVerticalBox();
    box.add(b1);box.add(b2);
    if (today_weekday_str() == "MONDAY") {box.add(b3);} 
    dialog.add(box);
    dialog.setAlwaysOnTop(true);
    Object[] btn_text = {"Continue"};       
    int result = JOptionPane.showOptionDialog(dialog, box, "Nastavení testu", JOptionPane.OK_OPTION, JOptionPane.QUESTION_MESSAGE, null, btn_text, null);
    if (result == JOptionPane.OK_OPTION) {
        if (b1.isSelected() == true) {zobrazovat_vysledky = true;}
        else {zobrazovat_vysledky = false;}             
        if (b2.isSelected() == true) {archivovat_soubor_s_vysledky = true;}
        else {archivovat_soubor_s_vysledky = false;}        
        if (b3.isSelected() == true) {smazat_exporty = true;}
        else {smazat_exporty = false;}
    }
    else {}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...