Как изменить атрибут Действия aspnetForm на MasterPage динамично

Простой ответ: нет

Selenium не предлагает никакого способа что-либо отобразить, точка. Это способ подключиться к другим системам, поэтому вам придется полагаться на эти системы для отображения своей «закусочной».

Единственный способ отобразить что-либо в веб-браузере - вставить собственный код для создания закусочной. Но это сделает тест недействительным, поскольку вы не тестируете сайт; вы тестируете сайт и как он взаимодействует с вашим кодом.

Вы можете попробовать коснуться языка, который вы используете, чтобы написать сценарии тестирования, чтобы что-то отобразить. Например, очень часто при использовании Java иметь System.out.println() для отображения информации в консоли. Вы можете создать целое приложение, работающее рядом с Selenium, которое отображает окно сообщений для конкретной ОС. Но даже тогда есть большие шансы повлиять на автоматизацию.

Таким образом, возникает большой вопрос: Почему, по вашему мнению, вам нужно что-то отображать?

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

Единственное объяснение - по причинам отладки. В этом случае добавление этого дополнительного кода - худшее, что вы можете сделать . У вас уже есть проблема, и вы пытаетесь объединить ее, добавив дополнительный код, который может исказить результаты. Если вы пытаетесь отлаживать, добавьте внешнее ведение журнала, такое как ранее упомянутый System.out.println() или эквивалентный код, и переходите оттуда. То, что не повлияет на экран или браузер.

7
задан Ólafur Waage 10 March 2009 в 09:56
поделиться

2 ответа

Это - что-то, что я считал, им жаль, что они не сделали. Тег form получает свой атрибут действия hardcoded. Необходимо использовать Адаптер Управления для управления его конструкцией во времени выполнения. Я использую его специально для Перезаписи URL, когда я требую, чтобы URL обратной передачи был переписанным, я создал. Scott Gu сделал код для него, и можно найти его здесь:

http://www.scottgu.com/blogposts/urlrewrite/UrlRewrite_HttpModule1.zip

И адрес для статьи:

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

4
ответ дан 7 December 2019 в 14:38
поделиться

Форма должна передать значения получающейся странице? В противном случае, почему Вы только не используете Ответ. Перенаправление к корректной странице? Например, предположение Вас использует RadioButtonList, названный lstOptions:

protected void btnSubmit_Click(object sender, EventArgs ags) {
        switch (lstOptions.SelectedValue) {
            case "option1":
                Response.Redirect("~/option1.apsx");
                break;
            //etc
        }
}

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

<input type="submit" value="Submit" onclick="javascript:submitForm()" />

<script type="text/javascript">
   function submitForm() {
      for (var i=0; i < document.form1.options.length; i++) {
         if (document.form1.options[i].checked) {
            document.forms[0].action = "option" + i + ".aspx";
            document.forms[0].submit();
         }
      }
   }
</script>
0
ответ дан 7 December 2019 в 14:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: