Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как реализовать: Проект 1 работает с GoogleChrome_1.exe, а Проект 2 работает с GoogleChrome_2.exe

csharp
visual-studio
selenium
webdriver
chrome
Теги: #<Tag:0x00007f7b6548cc80> #<Tag:0x00007f7b6548ca00> #<Tag:0x00007f7b6548c708> #<Tag:0x00007f7b6548c5a0> #<Tag:0x00007f7b6548c460>

(It Ot) #1

Как реализовать следующий сценарий:

  • открыто два браузера GoogleChromePortable_1 и GoogleChromePortable_2;
  • Проект_1 (Visual studio 2015) в GoogleChromePortable_1 переходит по ссылке yandex.ru;
  • Проект_2 (Visual studio 2015) в GoogleChromePortable_2 переходит по ссылке google.com;
    ?

Разработка реализации сценария осуществляется с использованием:

  • Создал проект в Visual studio 2015
  • Подключил библиотеку - WebDriver.dll (selenium)
  • Подключил (установил) Google Chrome Driver - chromedriver.exe

Обращаю внимание все браузеру Google Chrome в конфигурации Portable (переносные).

Код для реализации

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenQA.Selenium;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        IWebDriver Browser;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            // cyberforum.ru
                var options = new OpenQA.Selenium.Chrome.ChromeOptions();
                options.BinaryLocation = @"c:\soft\УД\GoogleChromePortable\1\GoogleChromePortable.exe";
                Browser = new OpenQA.Selenium.Chrome.ChromeDriver(options);
 
            Browser.Manage().Window.Maximize();
 
            // Проект_1 (Visual studio 2015) в GoogleChromePortable_1 переходит по ссылке yandex.ru; 
            // Для реализации "Проект_2 (Visual studio 2015) в GoogleChromePortable_2 переходит по ссылке google.com;" используется отдельный проект с аналогичным кодом
            Browser.Navigate().GoToUrl("http://google.com");
 
            IWebElement SearchInput = Browser.FindElement(By.Id("lst-ib"));
            SearchInput.SendKeys("проект домов" + OpenQA.Selenium.Keys.Enter);
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
 
        }
    }
}

(Nik Sidorenko) #2

Не понятно в чём проблема. Оба проекта используют один и тот же GoogleChromePortable?

Можете расказать больше о задаче, которую пытаетесь решить.
Почему именно GoogleChrome Portable?
Почему у каждого проекта отдельный GoogleChromePortable?


(It Ot) #3

Имеется два Google Chrome Portable (портативные), которые лежат в отдельных папках и их можно запускать как отдельные программы (браузеры) независимые друг от друга и выполнять. одновременно независимые и разные сценарии.

Например

  1. GoogleChromePortable_1 лежит в папке
    c:\1
  2. GoogleChromePortable_2 лежит в папке
    c:\2

(Dmitrii Demin) #4

Браузеры и так можно запускать независимо, для этого не нужно иметь 2 отдельных portable версии…


(It Ot) #5

Возможно. Я просто только начинаю осваивать эти вопросы.

  1. Правильно ли я вас понял, что можно запустить два стационарных Браузера, которые могут работать независимо друг от друга?

  2. Вы бы не могли подсказать как это сделать?
    В частности

  3. Проект 1
    Открыть Браузер 1
    Перейти по ссылке http://google.com
    Ввести “проект домов”
    Нажать “Ввод”

  4. Проект 2
    Открыть Браузер 2
    Перейти по ссылке http://yandex.com
    Ввести “СТРОИТЕЛЬСТВО домов”
    Нажать “Ввод”

Спасибо


(Nik Sidorenko) #6

Насколько я понял, то Вы хотите запускать два теста параллельно.
Попробуйте в каждом из проектов просто запустить

Browser = new OpenQA.Selenium.Chrome.ChromeDriver();

и посмотреть что получится.

Дополнительно
Вы запускаете тест путём нажатия кнопки на форме. Это так запланировано или это временно для удобства?
Для запуска тестов лучше использовать тестовый фреймворк. Например Nunit 3, который кстати поддерживает параллельный запуск тестов из коробки.