Exemple #1
0
        /// <summary>
        /// Initializes a new instance of the Lynda.Test.Browsers.SafariBrowser class, opens a new Safari window and navigates to
        /// the specified uri.
        /// </summary>
        /// <param name="uri">uri to navigate to in the new Safari window.</param>
        internal SafariBrowser(string uri, bool killExisting)
        {
            if (installedExePath == null)
            {
                throw new Exception(string.Format("Safari is not installed. Expected location:{0}", expectedExePath));
            }
            if (installedVersion != supportedExeMajorVersion)
            {
                throw new Exception(string.Format("Safari version {0} ({1}) is not supported by this class. Supported version: {2}.", installedVersion, installedExePath, supportedExeMajorVersion));
            }

            safariRepo = new Safari();

            //Kill existing browser processes before opening a new browser.
            if (killExisting)
            {
                Host.Local.KillBrowser(BrowserProduct.Safari.ToString());
            }

            //Open browser
            OpenBrowser(uri, BrowserProduct.Safari.ToString(), new RxPath("/form[@processname='Safari']"));
            //Update repository instance base path to include native window handle attribute for the form
            safariRepo.Form.BasePath = new RxPath(String.Format("/form[@processname='Safari' and @handle='{0}']", handle));
            Validate.Exists(safariRepo.Form.BasePath);
        }
        public void Safari_IPad()
        {
            var isSafari = Safari.TryParse(UserAgents.Safari_IPad, out var safari);

            Assert.True(isSafari);
            Assert.Equal(DeviceTypes.Tablet, safari.DeviceType);
            Assert.Equal(OperatingSystems.IOS, safari.OS);
        }
        public void Safari_Windows()
        {
            var isSafari = Safari.TryParse(UserAgents.Safari12_Windows, out var safari);

            Assert.True(isSafari);
            Assert.Equal(DeviceTypes.Desktop, safari.DeviceType);
            Assert.Equal(OperatingSystems.Windows, safari.OS);
        }
        public void Safari_Windows()
        {
            var isFireFox = Safari.TryParse(UserAgents.Safari12_Windows, out var firefox);

            Assert.True(isFireFox);
            Assert.Equal(DeviceTypes.Desktop, firefox.DeviceType);
            Assert.Equal(OperatingSystems.Windows, firefox.OS);
        }
        public void Safari_IPhone()
        {
            var isFireFox = Safari.TryParse(UserAgents.Safari_IPhone, out var firefox);

            Assert.True(isFireFox);
            Assert.Equal(DeviceTypes.Mobile, firefox.DeviceType);
            Assert.Equal(OperatingSystems.IOS, firefox.OS);
        }
        public void Safari_OSX()
        {
            var isSafari = Safari.TryParse(UserAgents.Safari12Osx, out var safari);

            Assert.True(isSafari);
            Assert.Equal(DeviceTypes.Desktop, safari.DeviceType);
            Assert.Equal(OperatingSystems.MacOSX, safari.OS);
        }
        public void Safari_IPhone()
        {
            var isSafari = Safari.TryParse(UserAgents.SafariIPhone, out var safari);

            Assert.True(isSafari);
            Assert.Equal(DeviceTypes.Mobile, safari.DeviceType);
            Assert.Equal(OperatingSystems.IOS, safari.OS);
        }
Exemple #8
0
 public void InitWebKit(Gtk.Box w)
 {
     HoldingWidget = w;
     wb            = new Safari(new System.Drawing.RectangleF(10, 10, 200, 200), "foo", "bar");
     wb.OnKeyDown += OnKeyDown;
     scrollWindow.AddWithViewport(NSViewToGtkWidget(wb));
     w.PackStart(scrollWindow, true, true, 0);
     w.ShowAll();
     wb.ShouldCloseWithWindow = true;
 }
        public void Test()
        {
            Safari Safari = new Safari();
            string ua1    = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50";

            Assert.IsTrue(Safari.UserAgentRegex.IsMatch(ua1));
            string ua2 = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36";

            Assert.IsFalse(Safari.UserAgentRegex.IsMatch(ua2));
        }
        private Browser GetBrowser()
        {
            var agent = UserAgent.ToString();

            var ie = new InternetExplorer(agent);

            if (ie.Type == BrowserType.IE)
            {
                return(ie);
            }
            var firefox = new Firefox(agent);

            if (firefox.Type == BrowserType.Firefox)
            {
                return(firefox);
            }
            var edge = new Edge(agent);

            if (edge.Type == BrowserType.Edge)
            {
                return(edge);
            }
            var opera = new Opera(agent);

            if (opera.Type == BrowserType.Opera)
            {
                return(opera);
            }
            var chrome = new Chrome(agent);

            if (chrome.Type == BrowserType.Chrome)
            {
                return(chrome);
            }
            var safari = new Safari(agent);

            if (safari.Type == BrowserType.Safari)
            {
                return(safari);
            }

            return(new Browser());
        }
Exemple #11
0
        // Protected implementation of Dispose pattern.
        protected virtual void Dispose(bool disposing)
        {
            if (disposed)
            {
                return;
            }

            if (disposing)
            {
                wb.Dispose();
                wb = null;
                socket.Dispose();
                socket = null;
                scrollWindow.Destroy();
            }

            // Free any unmanaged objects here.
            //
            disposed = true;
        }
Exemple #12
0
        public static string GetBrwoserInfo(string userAgent)
        {
            var ie = new InternetExplorer(userAgent);

            if (ie.Type == BrowserType.IE)
            {
                return(string.Format("{0} {1}", ie.Type.ToString(), ie.Version));
            }
            var firefox = new Firefox(userAgent);

            if (firefox.Type == BrowserType.Firefox)
            {
                return(string.Format("{0} {1}", firefox.Type.ToString(), firefox.Version));
            }
            var edge = new Edge(userAgent);

            if (edge.Type == BrowserType.Edge)
            {
                return(string.Format("{0} {1}", edge.Type.ToString(), edge.Version));
            }
            var opera = new Opera(userAgent);

            if (opera.Type == BrowserType.Opera)
            {
                return(string.Format("{0} {1}", opera.Type.ToString(), opera.Version));
            }
            var chrome = new Chrome(userAgent);

            if (chrome.Type == BrowserType.Chrome)
            {
                return(string.Format("{0} {1}", chrome.Type.ToString(), chrome.Version));
            }
            var safari = new Safari(userAgent);

            if (safari.Type == BrowserType.Safari)
            {
                return(string.Format("{0} {1}", safari.Type.ToString(), safari.Version));
            }

            throw new ArgumentException("找不到符合的浏览器类型!");
        }