Bảng cheat Selenium C#

Các biểu thức đường dẫn này trông rất giống các biểu thức đường dẫn bạn sử dụng với các hệ thống tệp máy tính truyền thống

Bảng cheat Selenium C#

Hàm chuẩn XPath

XPath bao gồm hơn 200 chức năng tích hợp

Có các hàm cho giá trị chuỗi, giá trị số, booleans, so sánh ngày và giờ, thao tác nút, thao tác trình tự, v.v.

Ngày nay, các biểu thức XPath cũng có thể được sử dụng trong JavaScript, Java, Lược đồ XML, PHP, Python, C và C++ và nhiều ngôn ngữ khác

Ban đầu, tôi đã tạo cheat sheet trong khi chúng tôi phát triển các phiên bản đầu tiên của khung kiểm tra tự động BELLATRIX. Hầu hết những thứ trong đó vẫn có liên quan

Khởi tạo

//NuGet. selen. Trình điều khiển web. ChromeDriversử dụng OpenQA. selen. Chrome ; IWebDriver trình điều khiển = . selen. mozilla. firefox. Trình quản lý web ChromeDriver();// NuGet: Selenium.Mozilla.Firefox.Webdriversử dụng OpenQA. selen. Firefox ; IWebDriver trình điều khiển = . selen. Trình điều khiển web. PhantomJS FirefoxDriver();// NuGet: Selenium.WebDriver.PhantomJSsử dụng OpenQA. selen. PhantomJS ; IWebDriver trình điều khiển = . selen. Trình điều khiển web. IEDriver PhantomJSDriver();// NuGet: Selenium.WebDriver.IEDriversử dụng OpenQA. selen. IE ; IWebDriver trình điều khiển = . selen. Trình điều khiển web. EdgeDriver InternetExplorerDriver();// NuGet: Selenium.WebDriver.EdgeDriversử dụng OpenQA. selen. Edge ; IWebDriver trình điều khiển = new EdgeDriver();

Bộ định vị

này . trình điều khiển. FindElement (Bởi. Tên lớp ( " Tên lớp " . ));this.trình điều khiển. FindElement (Bởi. CssSelector ( " css " . ));this.trình điều khiển. FindElement (Bởi. Id ( " id " . ));this.trình điều khiển. FindElement (Bởi. Văn bản liên kết ( " văn bản " . ));this.trình điều khiển. FindElement (Bởi. Tên ( " tên " . ));this.trình điều khiển. FindElement (Bởi. Văn bản liên kết một phần ( " pText " . ));this.trình điều khiển. FindElement (Bởi. Tên thẻ ( " đầu vào " . ));this.trình điều khiển. FindElement (Bởi. XPath ( " //*[@id='editor'] . "));// Find multiple elementsIReadOnlyCollection<IWebElement> anchors = this.trình điều khiển. FindElements (Bởi. Tên thẻ ( " a " . ));// Search for an element inside anothervar div = this.trình điều khiển. FindElement (Bởi. Tên thẻ ( " div " . )).FindElement (Bởi. TagName( " a " ));

Hoạt động các yếu tố cơ bản

IWebElement phần tử = trình điều khiển. FindElement (Bởi. Id ( " id " . Nhấp vào));element.Click (); phần tử. Phần tử SendKeys ("someText"); . Xóa phần tử (); . Gửi (); chuỗi Văn bản bên trong = element.Text ; bool isEnabled = . Đã bật ; bool isDisplayed = . Đã hiển thị ; bool isSelected = . Đã chọn ; IWebElement phần tử = . FindElement (Bởi. Id ( " id " . ));SelectElement select = new SelectElement(element);select.SelectByIndex (1); chọn . SelectByText ("Ford"); select . SelectByValue ("ford"); select . Bỏ chọn tất cả (); chọn . Bỏ chọn theo chỉ mục (1); chọn . Bỏ chọn theo văn bản ("Ford"); chọn . DeselectByValue ("ford"); IWebElement seredOption = select.SelectedOption ; IList < IWebElement . > allSelected = select.AllSelectedOptions ; bool isMultipleSelect = . select.IsMultiple ;

Hoạt động các phần tử nâng cao

// Kéo và thảIWebElement phần tử = trình điều khiển. FindElement (Bởi. XPath ( " //*[@id='project'] . DragAndDropToOffset "));Actions move = new Actions(driver);move.DragAndDropToOffset (phần tử, 30, 0). Thực hiện (); // Cách kiểm tra xem một phần tử có hiển thị hay không . IsTrue (trình điều khiển. FindElement (Bởi. XPath( " //*[@id='tve_editor']/div ")).Displayed);// Tải tệp lênIWebElement phần tử = driver.FindElement (Bởi. Id ( " RadUpload1file0 " . Trình điều khiển web. Loạt. Kiểm traTrình điều khiển Web. xml"));String filePath = @"D:WebDriver.Series.TestsWebDriver.xml" ; phần tử. SendKeys (filePath); // Cuộn tiêu điểm để điều khiểnIWebElement liên kết< . FindElement = driver.FindElement (Bởi. Văn bản liên kết một phần ( " Bài trước . ));string js = string.Định dạng ("cửa sổ. cuộn ( 0 , { . Vị trí. Y);});", link.Location.Y);((IJavaScriptExecutor)trình điều khiển). ExecuteScript(js);liên kết. Click();// Chụp ảnh màn hình thành phầnIWebElement element = driver. FindElement(By. XPath( "//*[@id='tve_editor']/div"));var cropArea = new Rectangle(element.Location , phần tử. Size); var bitmap = bmpScreen. Bản sao (cropArea, bmpScreen. PixelFormat); bitmap. Lưu (fileName); // Tập trung vào một điều khiểnIWebElement liên kết< . FindElement = driver.FindElement (Bởi. Văn bản liên kết một phần ( " Bài trước . ));// Wait for visibility of an elementWebDriverWait wait = new WebDriverWait(driver, TimeSpan.Từ giây ( 30 )); wait.Until (Điều kiện dự kiến. VisibilityOfAllElementsLocateBy (By. XPath( " //*[@id='tve_editor']/div[2]/div[2]/div/div ")));

Thao tác trình duyệt cơ bản

// Điều hướng đến trangnày . trình điều khiển. Điều hướng (). GoToUrl ( @" http. //google. com " ); // Lấy tiêu đề của trangcom . com . string title = this.trình điều khiển. Tiêu đề ; // Lấy URL hiện tạichuỗi url = this.trình điều khiển. Url ; // Lấy mã nguồn HTML của trang hiện tạichuỗi html = this.trình điều khiển. Nguồn trang ;

Hoạt động trình duyệt nâng cao

// Xử lý cửa sổ bật lên JavaScriptIAlert a = driver.SwitchTo (). Cảnh báo (); a. Chấp nhận (); a. Loại bỏ (); // Chuyển giữa các cửa sổ hoặc tab trình duyệtReadOnlyCollection < . WindowHandles string> windowHandles = driver.WindowHandles ; chuỗi firstTab = . Đầu tiên (); chuỗi lastTab = windowHandles.Last (); cuối cùng. Chuyển sang (). Cửa sổ (lastTab); // Lịch sử điều hướngnày.trình điều khiển. Điều hướng (). Quay lại (); này . trình điều khiển. Điều hướng (). Làm mới (); cái này . trình điều khiển. Điều hướng (). Chuyển tiếp (); // Tùy chọn 1. liên kết. SendKeys (chuỗi. Empty); // Tùy chọn 2. (( IJavaScriptExecutor ) trình điều khiển . ExecuteScript ( " arguments[0]. focus(); " , liên kết); // Phóng to cửa sổthis . .trình điều khiển. Quản lý (). Cửa sổ. Tối đa hóa (); // Thêm cookie mớiCookie cookie = new OpenQA.Selen. Cookie ("khóa", "giá trị"); cái này . trình điều khiển. Quản lý (). Bánh quy. AddCookie (cookie); // Lấy tất cả cookievar cookies = this.trình điều khiển. Quản lý (). Bánh quy. AllCookies; // Xóa cookie theo tênthis . trình điều khiển. Quản lý (). Bánh quy. Xóa Tên cookie ( " Tên cookie " . );// Delete all cookiesthis.trình điều khiển. Quản lý (). Bánh quy. Xóa tất cả cookie (); //Chụp ảnh toàn màn hìnhẢnh chụp màn hình< . screenshot = ((ITakesScreenshot)driver).Nhận ảnh chụp màn hình (); ảnh chụp màn hình. SaveAsFile (@"pathToImage", ImageFormat. Png); // Đợi cho đến khi trang được tải hoàn toàn qua JavaScriptWebDriverWait chờ = new WebDriverWait(this.trình điều khiển , Khoảng thời gian. Từ giây ( 30 )); wait.Until ((x) =>{ return (( IJavaScriptExecutor)this.driver).ExecuteScript(" trả lại tài liệu. readyState " ). Bằng( " hoàn thành " );}); . . // Switch to framesthis.trình điều khiển. Chuyển sang (). Khung ( 1 ); . .trình điều khiển. Chuyển sang (). Khung ( " Tên khung " . );IWebElement element = this.trình điều khiển. FindElement (Bởi. ( " id " . ));this.trình điều khiển. Chuyển sang (). Khung (phần tử); // Chuyển sang tài liệu mặc địnhnày< . .trình điều khiển. Chuyển sang (). Nội dung mặc định ();

Cấu hình trình duyệt nâng cao

// Sử dụng cấu hình Firefox cụ thểFirefoxProfileManager profileManager = . SetPreference FirefoxProfileManager();FirefoxProfile profile = profileManager.GetProfile ("HARDDISKUSER"); IWebDriver trình điều khiển = new FirefoxDriver(profile);// Set a HTTP proxy FirefoxFirefoxProfile firefoxProfile = new FirefoxProfile();firefoxProfile.SetPreference ("mạng. Ủy quyền. type", 1); firefoxProfile. SetPreference ("mạng. Ủy quyền. http", " proxy của tôi. com "); firefoxProfile. SetPreference ("mạng. Ủy quyền. http_port", 3239); IWebDriver trình điều khiển = mới FirefoxDriver(firefoxProfile);// Set a HTTP proxy ChromeChromeOptions options = new ChromeOptions();var proxy = new Proxy();proxy.Kind = ProxyKind. Thủ công; proxy. Tự động phát hiện = false; proxy. HttpProxy =proxy. SslProxy = "127. 0. 0. 1. 3239"; tùy chọn. Proxy = proxy; tùy chọn. AddArgument ("ignore-certificate-errors"); IWebDriver trình điều khiển = . Chấp nhận Chứng chỉ không đáng tin cậy new ChromeDriver(options);// Accept all certificates FirefoxFirefoxProfile firefoxProfile = new FirefoxProfile();firefoxProfile.AcceptUntrustedCertificates = true; firefoxProfile. AssumeUntrustedCertificateIssuer = false; IWebDriver trình điều khiển = new FirefoxDriver(firefoxProfile);// Accept all certificates ChromeDesiredCapabilities capability = DesiredCapabilities.Chrome (); Môi trường. SetEnvironmentVariable ("trình điều khiển web. trình duyệt Chrome. người lái xe", "C. Đường dẫn đếnTrình điều khiển Chrome. exe"); khả năng. SetCapability (CapabilityType. AcceptSslCertificates, true); IWebDriver trình điều khiển = mới RemoteWebDriver(capability);// Set Chrome options.Tùy chọn Chrome tùy chọn = mới Tùy chọn Chrome . Chrome();DesiredCapabilities dc = DesiredCapabilities.Chrome (); dc. Khả năng đặt (ChromeOptions. Khả năng, tùy chọn); IWebDriver trình điều khiển = mới< . GetProfile< . GetProfile RemoteWebDriver(dc);// Turn off the JavaScript FirefoxFirefoxProfileManager profileManager = new FirefoxProfileManager();FirefoxProfile profile = profileManager.GetProfile ("HARDDISKUSER"); hồ sơ. SetPreference ("javascript. đã bật", sai); IWebDriver trình điều khiển = mới FirefoxDriver(profile);// Set the default page load timeoutdriver.Manage (). Hết giờ (). SetPageLoadTimeout ( new TimeSpan ( . AddExtension 10));// Start Firefox with pluginsFirefoxProfile profile = new FirefoxProfile();profile.AddExtension (@"C. tiện ích mở rộng Vị trí tiện ích mở rộng. xpi"); IWebDriver trình điều khiển = mới FirefoxDriver(profile);// Start Chrome with an unpacked extensionChromeOptions options = new ChromeOptions();options.AddArguments ("load-extension=/pathTo/extension"); Khả năng mong muốn khả năng = new DesiredCapabilities();capabilities.SetCapability (ChromeOptions. Khả năng, tùy chọn); Khả năng mong muốn dc = Khả năng mong muốn. Chrome (); dc. Khả năng đặt (ChromeOptions. Khả năng, tùy chọn); IWebDriver trình điều khiển = mới RemoteWebDriver(dc);// Start Chrome with a packed extensionChromeOptions options = new ChromeOptions();options.AddExtension (Đường dẫn. GetFullPath ( " localpathto/extension. crx " )); Khả năng mong muốn khả năng = new DesiredCapabilities();capabilities.SetCapability (ChromeOptions. Khả năng, tùy chọn); Khả năng mong muốn dc = Khả năng mong muốn. Chrome (); dc. Khả năng đặt (ChromeOptions. Khả năng, tùy chọn); IWebDriver trình điều khiển = mới RemoteWebDriver(dc);// Change the default files’ save locationString downloadFolderPath = @"c:temp" ; Hồ sơ Firefox hồ sơ = new FirefoxProfile();profile.SetPreference ("trình duyệt. Tải xuống. folderList", 2); hồ sơ. SetPreference ("trình duyệt. Tải xuống. dir", downloadFolderPath); hồ sơ. SetPreference ("trình duyệt. Tải xuống. giám đốc. alertOnEXEOpen", false); hồ sơ. SetPreference ("trình duyệt. ứng dụng trợ giúp. không bao giờ hỏi. saveToDisk","ứng dụng/msword, ứng dụng/nhị phân, ứng dụng/ris, văn bản/csv, hình ảnh/png, ứng dụng/pdf, văn bản/html, văn bản/đơn giản, ứng dụng/zip, ứng dụng/x-zip, ứng dụng/x- . this.trình điều khiển = new Trình điều khiển Firefox (hồ sơ);

Tải xuống Selenium WebDriver C# Cheat Sheet

Đào tạo trực tuyến

  • C#

  • JAVA

  • KHÔNG CHỨC NĂNG

Nguyên tắc cơ bản về tự động kiểm tra web

CẤP ĐỘ. 1

  • Java cấp 1
  • Các nguyên tắc cơ bản về kiểm tra đơn vị Java
  • Kiểm soát nguồn Giới thiệu
  • Selenium WebDriver- Bắt đầu
  • Thiết lập công việc tích hợp liên tục
Khoảng thời gian. 20 giờ

4 giờ mỗi ngày

-50% mã giảm giá

BELLATRIX50

Tìm hiểu thêm

Tự động kiểm tra nâng cao

CẤP ĐỘ. 2

  • Java cấp 2
  • Trình điều khiển web cấp 2
  • Appium cấp 1
  • WinAppDriver cấp 1
  • WebDriver trong Docker và Cloud
  • Các giải pháp và khung báo cáo thử nghiệm
  • Phát triển hành vi lái xe
Khoảng thời gian. 30 giờ

4 giờ mỗi ngày

-20% mã phiếu giảm giá

BELLATRIX20

Tìm hiểu thêm

Enterprise Test Automation Framework

CẤP ĐỘ. 3 (Lớp chính)

Sau khi thảo luận về các đặc điểm cốt lõi, chúng ta sẽ bắt đầu viết từng phần của tính năng cốt lõi.
Chúng tôi sẽ liên tục giải thích lý do tại sao chúng tôi thiết kế mã theo cách của nó và xem xét các thiết kế khác nhau và so sánh chúng. Bạn sẽ có các bài tập để hoàn thành một phần cụ thể hoặc mở rộng nó hơn nữa cùng với việc thảo luận về các mẫu thiết kế và các phương pháp hay nhất trong lập trình.

Khoảng thời gian. 30 giờ

4 giờ mỗi ngày

-20% mã phiếu giảm giá

BELLATRIX20

Tìm hiểu thêm

Nguyên tắc cơ bản về tự động kiểm tra web

CẤP ĐỘ. 1

  • C# cấp độ 1
  • Nguyên tắc cơ bản về kiểm thử đơn vị C#
  • Kiểm soát nguồn Giới thiệu
  • Selenium WebDriver- Bắt đầu
  • Thiết lập công việc tích hợp liên tục
Khoảng thời gian. 20 giờ

4 giờ mỗi ngày

-50% mã giảm giá

BELLATRIX50

Tìm hiểu thêm

Tự động kiểm tra nâng cao

CẤP ĐỘ. 2

  • C# cấp 2
  • Trình điều khiển web cấp 2
  • Appium cấp 1
  • WinAppDriver cấp 1
  • WebDriver trong Docker và Cloud
  • Các giải pháp và khung báo cáo thử nghiệm
  • Phát triển theo định hướng hành vi- SpecFlow
Khoảng thời gian. 30 giờ

4 giờ mỗi ngày

-20% mã phiếu giảm giá

BELLATRIX20

Tìm hiểu thêm

Enterprise Test Automation Framework

CẤP ĐỘ. 3 (Lớp chính)

Sau khi thảo luận về các đặc điểm cốt lõi, chúng ta sẽ bắt đầu viết từng phần của tính năng cốt lõi.
Chúng tôi sẽ liên tục giải thích lý do tại sao chúng tôi thiết kế mã theo cách của nó và xem xét các thiết kế khác nhau và so sánh chúng. Bạn sẽ có các bài tập để hoàn thành một phần cụ thể hoặc mở rộng nó hơn nữa cùng với việc thảo luận về các mẫu thiết kế và các phương pháp hay nhất trong lập trình.

Khoảng thời gian. 30 giờ

4 giờ mỗi ngày

-20% mã phiếu giảm giá

BELLATRIX20

Tìm hiểu thêm

Kiểm tra năng suất

  • Nguyên tắc cơ bản của kiểm tra hiệu suất
  • Nguyên tắc cơ bản của công nghệ mạng
  • Kiểm tra hiệu suất với WebPageTest
  • Thực hiện kiểm tra hiệu suất và tự động hóa
  • Giới thiệu về Jmeter
  • Giới thiệu về giám sát và điều chỉnh hiệu suất
  • Kiểm tra hiệu năng trên đám mây
Khoảng thời gian. 24 tiếng

4 giờ mỗi ngày

-30% mã giảm giá

BELLATRIX50

Tìm hiểu thêm

Tải xuống mã nguồn đầy đủ

Dòng WebDriver

Tự động hóa web

Chụp toàn bộ ảnh chụp màn hình bằng WebDriver với HTML2Canvas. js
06/08/2017 / Bởi Anton Angelov

Tự động hóa web

Selenium WebDriver +. MẠNG 5. 0 – Điều Mọi Người Nên Biết
02/07/2017 / Bởi Anton Angelov

Tự động hóa web

Trình định vị WebDriver bị đánh giá thấp nhất – XPath
20/01/2015 / Bởi Anton Angelov

dòng chảy

Bắt đầu với SpecFlow sau 10 phút
23/10/2016 / Bởi Anton Angelov

Tự động hóa web

Tự động hóa lưới Telerik Kendo với WebDriver và JavaScript
29/11/2015 / Bởi Anton Angelov

dòng chảy

Dòng thông số nâng cao. Sử dụng Hook để mở rộng quy trình thực hiện kiểm thử
30/10/2016 / Bởi Anton Angelov

dự án mã

  • C#

  • JAVA

  • KHÔNG CHỨC NĂNG

Nguyên tắc cơ bản về tự động kiểm tra web

CẤP ĐỘ. 1

  • Java cấp 1
  • Các nguyên tắc cơ bản về kiểm tra đơn vị Java
  • Kiểm soát nguồn Giới thiệu
  • Selenium WebDriver- Bắt đầu
  • Thiết lập công việc tích hợp liên tục
Khoảng thời gian. 20 giờ

4 giờ mỗi ngày

-50% mã giảm giá

BELLATRIX50

Tìm hiểu thêm

Tự động kiểm tra nâng cao

CẤP ĐỘ. 2

  • Java cấp 2
  • Trình điều khiển web cấp 2
  • Appium cấp 1
  • WinAppDriver cấp 1
  • WebDriver trong Docker và Cloud
  • Các giải pháp và khung báo cáo thử nghiệm
  • Phát triển hành vi lái xe
Khoảng thời gian. 30 giờ

4 giờ mỗi ngày

-20% mã phiếu giảm giá

BELLATRIX20

Tìm hiểu thêm

Enterprise Test Automation Framework

CẤP ĐỘ. 3 (Lớp chính)

Sau khi thảo luận về các đặc điểm cốt lõi, chúng ta sẽ bắt đầu viết từng phần của tính năng cốt lõi.
Chúng tôi sẽ liên tục giải thích lý do tại sao chúng tôi thiết kế mã theo cách của nó và xem xét các thiết kế khác nhau và so sánh chúng. Bạn sẽ có các bài tập để hoàn thành một phần cụ thể hoặc mở rộng nó hơn nữa cùng với việc thảo luận về các mẫu thiết kế và các phương pháp hay nhất trong lập trình.

Khoảng thời gian. 30 giờ

4 giờ mỗi ngày

-20% mã phiếu giảm giá

BELLATRIX20

Tìm hiểu thêm

Nguyên tắc cơ bản về tự động kiểm tra web

CẤP ĐỘ. 1

  • C# cấp độ 1
  • Nguyên tắc cơ bản về kiểm thử đơn vị C#
  • Kiểm soát nguồn Giới thiệu
  • Selenium WebDriver- Bắt đầu
  • Thiết lập công việc tích hợp liên tục
Khoảng thời gian. 20 giờ

4 giờ mỗi ngày

-50% mã giảm giá

BELLATRIX50

Tìm hiểu thêm

Tự động kiểm tra nâng cao

CẤP ĐỘ. 2

  • C# cấp 2
  • Trình điều khiển web cấp 2
  • Appium cấp 1
  • WinAppDriver cấp 1
  • WebDriver trong Docker và Cloud
  • Các giải pháp và khung báo cáo thử nghiệm
  • Phát triển theo định hướng hành vi- SpecFlow
Khoảng thời gian. 30 giờ

4 giờ mỗi ngày

-20% mã phiếu giảm giá

BELLATRIX20

Tìm hiểu thêm

Enterprise Test Automation Framework

CẤP ĐỘ. 3 (Lớp chính)

Sau khi thảo luận về các đặc điểm cốt lõi, chúng ta sẽ bắt đầu viết từng phần của tính năng cốt lõi.
Chúng tôi sẽ liên tục giải thích lý do tại sao chúng tôi thiết kế mã theo cách của nó và xem xét các thiết kế khác nhau và so sánh chúng. Bạn sẽ có các bài tập để hoàn thành một phần cụ thể hoặc mở rộng nó hơn nữa cùng với việc thảo luận về các mẫu thiết kế và các phương pháp hay nhất trong lập trình.

Khoảng thời gian. 30 giờ

4 giờ mỗi ngày

-20% mã phiếu giảm giá

BELLATRIX20

Tìm hiểu thêm

Kiểm tra năng suất

  • Nguyên tắc cơ bản của kiểm tra hiệu suất
  • Nguyên tắc cơ bản của công nghệ mạng
  • Kiểm tra hiệu suất với WebPageTest
  • Thực hiện kiểm tra hiệu suất và tự động hóa
  • Giới thiệu về Jmeter
  • Giới thiệu về giám sát và điều chỉnh hiệu suất
  • Kiểm tra hiệu năng trên đám mây
Khoảng thời gian. 24 tiếng

4 giờ mỗi ngày

-30% mã giảm giá

BELLATRIX50

Tìm hiểu thêm

Nhận quyền truy cập tức thì vào Mã nguồn mới nhất

Và tham gia Cộng đồng Automate The Planet

Nhận mã nguồn đầy đủ

Quyền riêng tư của bạn được bảo vệ

Đặt mua

* biểu thị bắt buộc

Địa chỉ email *

Tên

Đăng ký cho

  • Java
  • C#

Tôi đồng ý với Chính sách quyền riêng tư và nhận bản tin và sản phẩm mới

Bạn có thể hủy đăng ký bất cứ lúc nào bằng cách nhấp vào liên kết ở cuối email của chúng tôi. Để biết thông tin về thực hành quyền riêng tư của chúng tôi, vui lòng truy cập trang web của chúng tôi