SceneFor pagination, we are most interested in the following information
How many pages are there in total
How many pages are you currently on?
Can I have a previous page and a next page?
CodeThe following code shows how to get the total paging and the current page, jump to a specified number of pages#Coding:utf-8 fromSeleniumImportWebdriverImportTimedriver=Webdriver. Chrome () Driver.get ("https://segmentfault.com/news")#get the number of all pagination#-2 is because you w
print >>sys.stderr, ' \ntimeElapsed:%s '% (self.stoptime-self.starttime), can be changed to print (Sys.stderr, ' \ntime Elapsed:%s '% ( Self.stoptime-self.starttime)) Save the htmltestrunner.py after each modification. In addition, in 3, open the local file requires FP =open (filename, ' WB '), do not use file again; Fp.close () Closed2. Verify that you added the successImporting htmltestrunner.py packages in Python interactive mode>>import Htmltestrunner>>Add success when the above message app
Firefoxdriver (); Driver.manage (). window (). Maximize (); Open Open Source China Web site public static void Navigate () {driver.get ("http://www.oschina.net/");} Click Login public static void Login_click () {driver.findelement (By.xpath ("//*[@id = ' Osc_userbar ']/a[1]"). Click (); Enter the user name public static void Input_name () {driver.findelement (By.xpath ("//*[@id = ' f_email ']"). SendKeys ("Xxxxxxa");} Enter the password public static void Input_password () {driver.findelement (
Notoginseng - " " the to generate an HTML-based test report: + 1 Defining a path to a file A 2 Opening a file in a written manner the 3 Calling the Htmltestrunner method to generate a test report + 4 running a test collection - 5 closing Files $ " " $report_file=". \\20170423_report.html" -fp = open (Report_file,"WB") -Runner = Htmltestrunner.htmltestrunner (stream=fp,title="Search", description="Test Search Results") the Runner.run (Suite) -Fp.close ()Sel
": - Wuyi Print("QQ Exchange Group: 226296743") the - Print(Is_result_pass ()) Wu -```Operation Result:```The test process has not passed the use case: Pass 2 Failure 1 Error 1False```2. Add a judgment before the last email```1 if notIs_result_pass ():2 3 #determine if the HTML report has an error4 5 6 7 #execute the Send mail function, write your own e-mail function8 9 #send_mail (sender, PSW, receiver, Smtp_server, Report_file)Ten One A -
failure case # coding:utf-8from bs4 import BeautifulSoupimport sysreload(sys)sys.setdefaultencoding('utf8')def is_result_pass(): try: with open("result.html", "r") as fp: f = fp.read() # 读报告 soup = BeautifulSoup(f, "html.parser") status = soup.find_all(class_="attribute") result = status[2].contents[-1] # 获取报告结果 if "Failure" in result or "Error" in result: print("测试过程有不通过用例:%s"%result) return False else: r
One, "Upload files"To locate the upload button, pass send_keys add local file path on it. Both absolute and relative paths are possible, and the key is that the uploaded file exists.#coding =utf-8From selenium import WebdriverImport Os,timeDriver = Webdriver. Firefox ()#打开上传文件页面File_path = ' file:///' + os.path.abspath (' upload_file.html ')Driver.get (File_path)#定位上传按钮, add a local fileDriver.find_element_by_name ("file"). Send_keys (' D:\\selenium_u
statements (file--defualt setting--------and inspections------Encoding specified for file--and Settings UTF8 ), try the above two ways, still can't solve, crash cure happened to see a post, said #coding = UTF8 This sentence must be written in the first line, after the test, sure enough success!! It seems that Python's use is poor ~ later to strengthen Python.Encoding conversion, be sure to write in the first line!!! Head Write!!! First line!! More important things to say a few times ~At this po
Element positioning of selenium automation testFirst, selenium positioning methodThe key to automated testing is to accurately manipulate the test object, so you need to accurately locate the page elements of the system under test, there are several positioning methods:By.classnme (String className)By.cssselector (String selector)By.id (String ID)By.linktext (Str
There is sth wrong with input on my Ubuntu. So the first blog would is written in 中文版 about what I am doing during this weekend. I study python for a while the about Algorith and the network and now find some small project for practice. One of Pratice is to log on website automatically. Splinter is an interesting item which would cover web communication and testing. Following link is a implementation on what to log on 12306 to buy ticket presented by Youerning. http://youerning.blog.51cto.com/10
0. Import keyboard class keys ()
The keys () class in Selenium provides most of the keyboard manipulation methods, and the Send_keys () method is used to simulate keys on the keyboard.# 导入键盘类 Keys()from selenium.webdriver.common.keys import Keys
1. Common keyboard operation:
Send_keys (keys.back_space): Delete key (BackSpace)
Send_keys (Keys.space): SPACEBAR (space)
Send_keys (keys.tab): Tab key (TAB)
Send_keys (Keys
element_located_to_be_selected# determines whether the selected state of the element is the same as expected, passed in parameters: the positioned element, equal returns TRUE, otherwise returns falseelement_selection_state _to_be# determines whether the selected state of an element is the same as expected, passed in parameters: element positioning, equality returns TRUE, otherwise falseelement_located_selection_state_to_be# determines whether an element is still in the DOM, Passing in the Webel
Selenium official websitehttp://selenium-python.readthedocs.io/Configuring the Usage environmentDownload the appropriate browser driver, Firefox is the defaultThis article is based on Chrome, placed in the scripts directoryChromedriver official: All versions of ChromedriverDocument referenceA Concise Python tutorialPython Tutorial-LiaocheOfficial document: Selenium
. -element: Positioned elements If the parameter is not written is the current position of the mouse for example, press CTRL + C:: Actionchains (Driver). Key_down (Keys.control). Send_keys (' C '). KEY_UP (Keys.control). Perform ()DefKey_up(Self, value, Element=none):# Release the keys to use with the aboveDefMove_by_offset(Self, Xoffset, yoffset): The offset that moves the mouse to the current mouse position-the xoffset:x axis moves to the X offset-yoffset:y axis offset as a positive or negativ
parameter is not written, then is the current mouse position-if the parameter is written to the element object, it is this element. def send_keys (self, *keys_to_send): The key to send to the current focus element. Modifier-Keys constants can be used in the button class. def send_keys_to_element (self, element, *keys_to_send): Sent to the anchored element-element: Positioned elements-keys_to_send: The key to be sent. Modifier-Keys constants can be used in the button class.Source code can
1.selenium Installation:Pip Install-u SeleniumReference: Https://pypi.python.org/pypi/selenium#downloads2. Download the Firefox driver:Https://github.com/mozilla/geckodriver/releases3. Configure the directory where the Geckodriver.exe is located to the PATH environment variable4. A simple example:1 from Import Webdriver 2 3 driver=webdriver. Firefox ()45 driver.get ("http://www.sogou.com") # The end of the
python + Selenium automation environment Frequently Asked Questions summary (1) There are three ways to operate the Windows window, one is to use the AutoIT software to generate exe programs, and then use the system command calls; SendKeys class simulates the keyboard operation (only the current focus is fixed); Pywinauto Components ( Win32gui )(2) Pywinauto package only supports to python2.6 version. the
Jenkins+selenium can achieve continuous integration of web automation.
The basic operation of Jenkins:
First, new view and job
New View:
New job:
You can choose to build a free-style software project or copy an existing item
Ii. Preparatory work:
Install Jenkins plugin, SSH plugin, Email Extension plugin, Hudson SELENIUMHQ plugin
Click System Management, manage plugins
Enter the plugin name in
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.