Решено Сделать не возможным загрузку профиля при несоотвествующем движке браузера

  • Автор темы Автор темы Mikhail B.
  • Дата начала Дата начала
Ссылка на таску
https://black-mesa.atlassian.net/browse/ZP-858

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 449
Реакции
5 477
Баллы
113
Наверно некоторые знают, что если загрузить профиль от firefox в движок chrome, то наверняка у вас будут проблемы.
Пожалуйста сделайте. что бы в таком случаи профили не грузились, а экшн выходил по ошибке.
 
  • Спасибо
Реакции: 606
вот бы все предложения так обрабатывались :) только задумал, а тебе да мы уже сделали :)
 
Наверно некоторые знают, что если загрузить профиль от firefox в движок chrome, то наверняка у вас будут проблемы.
Пожалуйста сделайте. что бы в таком случаи профили не грузились, а экшн выходил по ошибке.
Гугл гpузится без проблем. Из под фф захожу с самим гуглом pаботаю чеpез хpом.
Гугл ненавидит фф.
 
Наверно некоторые знают, что если загрузить профиль от firefox в движок chrome, то наверняка у вас будут проблемы.
Пожалуйста сделайте. что бы в таком случаи профили не грузились, а экшн выходил по ошибке.

C#:
Развернуть Свернуть Копировать
//получаем useragent профиля
string ua = project.Profile.UserAgent;
//получаем текущий браузер проекта
var currBrowser = Convert.ToString(instance.BrowserType);

project.SendInfoToLog("Profile UserAgent: "+ua+" Current project browser: "+currBrowser, true);

//Если в ua присутствует Chrome и текущий браузер не Chrome
if (ua.Contains("Chrome") && (currBrowser != "Chrome"))
{
    //устанавливаем браузером проекта Chrome
    instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Chrome, true);
    project.SendInfoToLog("Движок Chrome установлен как браузер проекта", true);
}

//Если в ua присутствует Firefox любой версии 4*, и движок не Firefox45,
if (ua.Contains("Firefox/4") && (currBrowser != "Firefox45"))
{
    //устанавливаем браузером проекта Firefox45
    instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox45, true);
    project.SendInfoToLog("Движок Firefox45 установлен как браузер проекта", true);
}

//Если в ua присутствует Firefox любой версии 5*, 6*, 7*,
if (ua.Contains("Firefox/5") || ua.Contains("Firefox/6") || ua.Contains("Firefox/7"))
{
    //и движок не Firefox52х64
    if (ua.Contains("Win64") && currBrowser != "Firefox52x64")
    {
        //устанавливаем браузером проекта Firefox52x64
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52x64, true);
        project.SendInfoToLog("Движок Firefox52x64 установлен как браузер проекта", true);
    }
    //и движок не Firefox52
    if (ua.Contains("WOW64") && currBrowser != "Firefox52")
    {
        //устанавливаем браузером проекта Firefox52
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52, true);
        project.SendInfoToLog("Движок Firefox52 установлен как браузер проекта", true); 
    }
    
    // UA FF/5*-/6*-/7*, и не содержит Win64, и не содержит WOW64, и движок не Firefox52
    if (ua.Contains("WOW64")==false && ua.Contains("Win64")==false && currBrowser != "Firefox52")
    {
        //устанавливаем браузером проекта Firefox52
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52, true);
        project.SendInfoToLog("Движок Firefox52 установлен как браузер проекта", true); 
    }
}
 
C#:
Развернуть Свернуть Копировать
//получаем useragent профиля
string ua = project.Profile.UserAgent;
//получаем текущий браузер проекта
var currBrowser = Convert.ToString(instance.BrowserType);

project.SendInfoToLog("Profile UserAgent: "+ua+" Current project browser: "+currBrowser, true);

//Если в ua присутствует Chrome и текущий браузер не Chrome
if (ua.Contains("Chrome") && (currBrowser != "Chrome"))
{
    //устанавливаем браузером проекта Chrome
    instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Chrome, true);
    project.SendInfoToLog("Движок Chrome установлен как браузер проекта", true);
}

//Если в ua присутствует Firefox любой версии 4*, и движок не Firefox45,
if (ua.Contains("Firefox/4") && (currBrowser != "Firefox45"))
{
    //устанавливаем браузером проекта Firefox45
    instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox45, true);
    project.SendInfoToLog("Движок Firefox45 установлен как браузер проекта", true);
}

//Если в ua присутствует Firefox любой версии 5*, 6*, 7*,
if (ua.Contains("Firefox/5") || ua.Contains("Firefox/6") || ua.Contains("Firefox/7"))
{
    //и движок не Firefox52х64
    if (ua.Contains("Win64") && currBrowser != "Firefox52x64")
    {
        //устанавливаем браузером проекта Firefox52x64
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52x64, true);
        project.SendInfoToLog("Движок Firefox52x64 установлен как браузер проекта", true);
    }
    //и движок не Firefox52
    if (ua.Contains("WOW64") && currBrowser != "Firefox52")
    {
        //устанавливаем браузером проекта Firefox52
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52, true);
        project.SendInfoToLog("Движок Firefox52 установлен как браузер проекта", true);
    }
  
    // UA FF/5*-/6*-/7*, и не содержит Win64, и не содержит WOW64, и движок не Firefox52
    if (ua.Contains("WOW64")==false && ua.Contains("Win64")==false && currBrowser != "Firefox52")
    {
        //устанавливаем браузером проекта Firefox52
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52, true);
        project.SendInfoToLog("Движок Firefox52 установлен как браузер проекта", true);
    }
}
А если допустим я использую движок хром, а при этом юзер агент лисы? Я так понимаю тогда ничего не получится, я понимаю что бред использовать не соответствующие юзерагенты, но все же))

Кстати была идея, тянуть движок прямо из профиля, конечно же при условии, что профиль сохраняет данную инфу.

За сниппет спасибо.
 
апну тему. То что реализовали в 42 версии не совсем то, что нужно.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)