Нельзя использовать Ватин
Я запускаю очень простое консольное приложение watin, как показано ниже
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WatiN.Core;
namespace ConsoleApplication2
{
class Program
{
[STAThread]
static void Main(string[] args)
{
IE ie = new IE();
// point it to http://www.google.com
ie.GoTo("http://www.google.com");
// fill the search box
ie.TextField(Find.ByName("q")).TypeText("WatiN");
// performs click event
ie.Button(Find.ByValue("Google Search")).Click();
}
}
}
Который не работает. Всплывающее окно говорит, что пропал .exe
файл. Я не могу понять, потому что это просто консольное приложение. Зачем мне .exe
файл?
1 ответ
Если вы пытаетесь использовать WatiN
для тестирования веб-приложений через Internet Explorer сначала убедитесь в правильности настроек.
NUnit
не запускает тесты в потоке, используя STA apartment state
; оно использует multithreaded apartment (MTA)
, но это не большая проблема, вы можете прикрепить файл конфигурации к NUnit
Протестируйте проект и укажите желаемый режим квартиры:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="NUnit">
<section name="TestRunner" type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</configSections>
<NUnit>
<TestRunner>
<!-- Valid values are STA, MTA. Others ignored. -->
<add key="ApartmentState" value="STA" />
</TestRunner>
</NUnit>
</configuration>
Ссылка на статью:
WatiN, Internet Explorer и Thread.Apartmentstate
В этой статье объясняется, почему и как установить ApartmentState of Thread в одноуровневую квартиру (STA). Это требуется при запуске теста с Internet Explorer. Также показано, как это сделать при использовании WatiN с NUnit, MBUnit, MSTest, TestDriven.Net, Fitnesse или SharpDevelop.