First, install EclipseSpecific can refer to http://jingyan.baidu.com/article/fea4511a130b59f7bb912503.html, step more detailedSecond, build Python+selenium environmentSpecific reference http://wenku.baidu.com/link?url=p6wc6Y2mVjZBb7_FVq41372h-MX4BrRhLccHUREWZqupI6s5Wpie7_ I0mfmtgylvvjnfofvmwta3l8p7rsesrlaag5afatr704yvlupw2dePython currently supports more than 2.7 versions of plug-ins and libraries, 3.X version and 2.7 differences, specific to individu
Now that the Web Automation environment has been set up, it's time to start writing scripts. Let's start with a relatively simple script, as follows:
#coding = Utf-8
From selenium import Webdriver
Import time
Try
Driver = Webdriver. Chrome ()
# driver = Webdriver. Firefox ()
Driver.maximize_window ()
# driver.set_window_size (1200, 900)
Driver.get (' https://www.baid
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
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
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
. -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
When using selenium to automate, one of the headaches that we often encounter is file uploads.The difficulty of the problem is that selenium cannot recognize and manipulate the Windows window, and if we can bypass the popup box and pass the file information directly to the selection button, the difficulty is solved.the following are common page forms :parsing HTML, found that both the normal foreground and
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.