예제 #1
0
        static void Main(string[] args)
        {
            Korat korat = new Korat();

            // Constructs behavior pool by "BehaviorPool pool = Parser.Parse(args)" in the future.
            BehaviorPool pool = new BehaviorPool();

            pool.Add(new WinBehaviorsPicker(korat, pool).Pick("7"));
            pool.Add(new ChromeBehaviorsPicker(korat, pool).Pick("60.0"));

            ChromeBehaviors chrome = pool.Request <ChromeBehaviors>();
            OsBehaviors     os     = pool.Request <OsBehaviors>();

            if (chrome == null || os == null)
            {
                Console.WriteLine("No such behaviors.");
            }
            else
            {
                Console.WriteLine("Before replacing behaviors:");
                RunScript(os, chrome);
            }

            pool.Remove(os);
            pool.Remove(chrome);
            pool.Add(new IeBehaviorsPicker(korat, pool).Pick("ie7"));
            pool.Add(new UbuntuBehaviorsPicker(korat, pool).Pick("16.10"));
            BrowserBehaviors browser = pool.Request <BrowserBehaviors>();

            os = pool.Request <OsBehaviors>();

            if (browser == null || os == null)
            {
                Console.WriteLine("No such behaviors.");
            }
            else
            {
                Console.WriteLine();
                Console.WriteLine("After replacing behaviors:");
                RunScript(os, browser);
            }

            Console.Read();
        }
예제 #2
0
 /// <summary>
 /// Script never changed.
 /// </summary>
 /// <param name="os"></param>
 /// <param name="browser"></param>
 private static void RunScript(OsBehaviors os, BrowserBehaviors browser)
 {
     os.OpenApp("chrome");
     string url = browser.GetUrlText();
 }