Получение значений из списка выбора - PullRequest
1 голос
/ 01 декабря 2011

Я недавно начал использовать WatiN для тестирования некоторых вещей на сайте.

И я хотел бы спросить, возможно ли это: если у меня есть список выбора на моей странице, могу ли я получить все значенияс текстом из него в словаре?

Как, скажем, у меня есть список:

<SELECT NAME="mylist" onChange="disp_text()">
<OPTION VALUE="m1">Cape Fear
<OPTION VALUE="m2">The Good, the Bad and the Ugly
<OPTION VALUE="m3">The Omen
<OPTION VALUE="m4">The Godfather
<OPTION VALUE="m5">Forrest Gump
</SELECT>

Так что я хотел бы иметь словарь с этими значениями <string, string> dictionary.add(m1, "cape fear"); ... и т.д.

Можно ли делать с ватином?И как?


Другой вопрос: когда я нажимаю на ссылку, она открывает новую вкладку в IE, как мне закрыть только эту недавно открытую вкладку и продолжить работу на главной странице?

Ответы [ 2 ]

1 голос
/ 01 декабря 2011

Это может помочь вам с вашим первым вопросом

        SelectList region1 = browser.SelectList(Find.ByName("mylist"));
        Dictionary<string, string> optionsdictionary = new Dictionary<string, string>();
        foreach (Option option in region1.Options)
        {
            optionsdictionary.Add(option.Value, option.Text);
        }

А для второго я пробовал это с FireFox, и он работает, но, как сказал Отиель, вы должны публиковать отдельные вопросы.

        browser.GoTo("http://news.google.co.in/nwshp?hl=en&tab=wn");
        Link newslink = browser.Link(Find.ByUrl("somelink"));
        newslink.Click();
        FireFox newbrowser = FireFox.AttachTo<FireFox>(Find.ByUrl("somelink"));
        newbrowser.Close();
0 голосов
/ 05 декабря 2011

В качестве альтернативы, вы можете позволить linq выполнить за вас тяжелую работу: -

SelectList regionLst = browser.SelectList(Find.ByName("mylist"));
Dictionary<string, string> optionsDictionary = regionLst.Options.ToDictionary(option => option.Value, option => option.Text);

Всего лишь одно предупреждение.И в этом примере, и в том, что предоставил Ашиш, полагается, что в вашем списке выбора нет повторяющихся «значений параметров».НТН!

...