Это лучшее описание моей проблемы: мне нужно проверить сайт, который я не могу редактировать. Сайт работает только в режиме совместимости в моем IE 11 (он создан для 7-го типа типа 5). Я хочу запустить тесты, и файлы cookie должны быть очищены до этого. Но если я установил «EnsureCleanSession = true», он очистит список совместимости в IE, кроме файлов cookie. Из-за этого невозможно проверить сайт.
Я нашел возможное решение, но я должен проверить его ... Я узнал, что список совместимости в реестре, и я могу загрузить его значение, прежде чем она очищается и установите значение снова:
const string keyName = @"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\BrowserEmulation\ClearableListData";
var a = Registry.GetValue(keyName, "UserFilter" , "Return this default if NoSuchName does not exist.");
// value of registry is removed
Registry.SetValue(keyName, "UserFilter", a);
Console.ReadLine();
Но, как я уже сказал, я не знаю, если это будет делать трюк ...
[UPDATE]
Хорошо, она работает с небольшой обходным (потому что IE должен быть перезапущен после изменения в реестре)
[SetUp]
public void SetUp()
{
//read the compatibility mode list from registry
const string path = @"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\BrowserEmulation\ClearableListData";
const string key = "UserFilter";
var regValue = Registry.GetValue(path, key, "Return this default if NoSuchName does not exist.");
//run IE driver with cleaning of cookies and history
var options = new InternetExplorerOptions
{
IntroduceInstabilityByIgnoringProtectedModeSettings = true,
EnsureCleanSession = true
};
_driver = new InternetExplorerDriver(IeDriversPath, options);
//cloase IE
_driver.Quit();
_driver.Dispose();
//put the compatibility mode list back into registry
Registry.SetValue(path, key, regValue);
//run IE driver without cleaning of cookies and history
options.EnsureCleanSession = false;
_driver = new InternetExplorerDriver(IeDriversPath, options);
}
У меня красный ваш предыдущий ответ, где вы ссылаетесь на другой ответ: http://stackoverflow.com/questions/5804714/selenium-ie8-force-ie8-compatibility-view. Я хотел заверить себя, что нет никаких вариантов, кроме виртуальных машин. Чтобы быть более конкретным, у меня проблема с «EnsureCleanSession = true», которая очищает список совместимости. Если бы он этого не сделал, все было бы хорошо для меня:/ –
Что вы имеете с собой? Печенье? – Saifur
Я написал это как ответ ниже, потому что он был слишком длинным ... –