本文整理汇总了Python中splinter.Browser.find_link_by_text方法的典型用法代码示例。如果您正苦于以下问题:Python Browser.find_link_by_text方法的具体用法?Python Browser.find_link_by_text怎么用?Python Browser.find_link_by_text使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类splinter.Browser
的用法示例。
在下文中一共展示了Browser.find_link_by_text方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: enable
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
def enable():
import time
import requests
import settings
from splinter import Browser
from xvfbwrapper import Xvfb
print "Trying to enable myself."
vdisplay = Xvfb()
vdisplay.start()
email = settings.getEmail()
password = settings.getPassword()
team_name = settings.getTeamName()
bot_user = settings.getBotUser()
browser = Browser('chrome')
url = 'https://{}.slack.com/services/{}'.format(team_name, bot_user)
browser.visit(url)
browser.fill('email', email)
browser.fill('password', password)
browser.find_by_id('signin_btn').first.click()
browser.find_link_by_text('Enable').first.click()
time.sleep(2) # Sometimes I saw a crash where there was no alert, so we'll wait a bit first.
alert = browser.get_alert()
alert.accept()
time.sleep(2) # If you close the display too quickly, the request doesn't get processed.
vdisplay.stop()
示例2: LoginTestCase
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
class LoginTestCase(unittest.TestCase):
def setUp(self):
self.testbed = testbed.Testbed()
self.testbed.activate()
self.testbed.init_datastore_v3_stub()
self.testbed.init_memcache_stub()
self.browser = Browser('chrome')
def tearDown(self):
self.testbed.deactivate()
def test_login(self):
self.browser.visit("http://127.0.0.1:8080/")
self.assertEqual(self.browser.find_by_tag("h3").first.text, "Not logged in")
self.browser.find_by_id("submit-login").first.click()
self.assertEqual(self.browser.find_link_by_text("Insurance").first.text, "Insurance")
def test_logout(self):
self.browser.visit("http://127.0.0.1:8080/")
self.assertEqual(self.browser.find_by_tag("h3").first.text, "Not logged in")
self.browser.find_by_id("submit-login").first.click()
self.assertEqual(self.browser.find_link_by_text("Insurance").first.text, "Insurance")
self.browser.find_link_by_text("Log out").first.click()
self.assertEqual(self.browser.find_by_tag("h3").first.text, "Not logged in")
示例3: make
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
def make(b,c):
browser=Browser('chrome')
url='http://admin2.okzaijia.com.cn/Account/login'
browser.visit(url)
browser.find_by_id('UserName').fill('Tina')
browser.find_by_id('Password').fill('13916099416')
browser.find_by_id('LoginOn').click()
browser.find_by_xpath('/html/body/div[1]/div[1]/div/div[2]/div/div/ul/li/a').click()
if b==1:
browser.find_link_by_text(u'新增订单').click()
browser.windows.current=browser.windows[1]
#print browser.windows.current
textnew=browser.find_by_name('RepairContent')
textnew.fill(random.randint(10000,19999))
a=''.join([chr(random.randint(97,122)) for _ in range(4)])
browser.find_by_id('UserName').fill(a)
browser.find_by_id('UserMobile').fill(random.randint(15138460867,19000000000))
browser.select('Source',random.randint(1,10))
browser.select('AreaId',random.randint(801,819))
browser.find_by_id('UserAddress').fill(random.randint(3000,9999))
browser.find_by_xpath('//*[@id="submit"]').click()
time.sleep(2)
else:
browser.find_by_name('orderno').fill(c)
browser.find_by_xpath('//*[@id="searchForm"]/div[7]/button').click()
browser.find_by_text(u'维修记录').click()
browser.find_by_xpath("/html/body/div[1]/div[1]/div/div[2]/div[1]/a").click()
browser.windows.current=browser.windows[1]
b=''.join([chr(random.randint(97,122)) for _ in range(5)])
browser.find_by_name('RepairContent').fill(b)
browser.find_by_name('Remark').fill(random.randint(20000,29999))
browser.find_by_id('submit').click()
time.sleep(3)
browser.visit('http://admin2.okzaijia.com.cn/Task/MyTask?TaskType=4&Status=1')
browser.windows.current=browser.windows[1]
#print browser.windows.current
browser.find_by_xpath('//*[@id="searchForm"]/div[3]/button').click()
browser.find_by_xpath('//*[@id="pages"]/div/a[7]').click()
browser.find_by_text(u'执行任务').last.click()
time.sleep(2)
browser.windows.current=browser.windows[2]
browser.find_by_value('37').click()#选择接单的施工组
#print browser.find_by_value('17').text
browser.find_by_id('submit').click()
示例4: submitQueue
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
def submitQueue(NETID, PASSWORD, SECURITY_QUESTIONS):
browser = Browser()
# netid page
browser.visit("https://puaccess.princeton.edu/psp/hsprod/EMPLOYEE/HRMS/h/?tab=DEFAULT")
browser.fill('userid', NETID)
browser.find_by_value("Continue").first.click()
# password page
browser.fill('Bharosa_Password_PadDataField', PASSWORD)
browser.evaluate_script("Bharosa_Password_Pad.keyPress('ENTERKEY');")
# security question page
html = browser.html
for key in SECURITY_QUESTIONS.keys():
if key in html:
answer = SECURITY_QUESTIONS[key]
browser.fill('Bharosa_Challenge_PadDataField', answer)
browser.evaluate_script("Bharosa_Challenge_Pad.keyPress('ENTERKEY');")
time.sleep(2)
# welcome to SCORE
browser.find_link_by_text("Student Center").first.click()
# student center, start by busting out of the iframe
browser.visit("https://puaccess.princeton.edu/psc/hsprod/EMPLOYEE/HRMS/c/SA_LEARNER_SERVICES.SSS_STUDENT_CENTER.GBL?PORTALPARAM_PTCNAV=HC_SSS_STUDENT_CENTER&EOPP.SCNode=HRMS&EOPP.SCPortal=EMPLOYEE&EOPP.SCName=ADMN_SCORE&EOPP.SCLabel=&EOPP.SCPTcname=ADMN_SC_SP_SCORE&FolderPath=PORTAL_ROOT_OBJECT.PORTAL_BASE_DATA.CO_NAVIGATION_COLLECTIONS.ADMN_SCORE.ADMN_S200801281459482840968047&IsFolder=false&PortalActualURL=https%3a%2f%2fpuaccess.princeton.edu%2fpsc%2fhsprod%2fEMPLOYEE%2fHRMS%2fc%2fSA_LEARNER_SERVICES.SSS_STUDENT_CENTER.GBL&PortalContentURL=https%3a%2f%2fpuaccess.princeton.edu%2fpsc%2fhsprod%2fEMPLOYEE%2fHRMS%2fc%2fSA_LEARNER_SERVICES.SSS_STUDENT_CENTER.GBL&PortalContentProvider=HRMS&PortalCRefLabel=Student%20Center&PortalRegistryName=EMPLOYEE&PortalServletURI=https%3a%2f%2fpuaccess.princeton.edu%2fpsp%2fhsprod%2f&PortalURI=https%3a%2f%2fpuaccess.princeton.edu%2fpsc%2fhsprod%2f&PortalHostNode=HRMS&NoCrumbs=yes&PortalKeyStruct=yes")
browser.select('DERIVED_SSS_SCL_SSS_MORE_ACADEMICS', "1005")
browser.find_by_id("DERIVED_SSS_SCL_SSS_GO_1").first.click()
# pick semester
browser.choose("SSR_DUMMY_RECV1$sels$0", "1")
browser.find_by_id("DERIVED_SSS_SCT_SSR_PB_GO").first.click()
# select classes to add... class should already be in queue
browser.find_by_id("DERIVED_REGFRM1_LINK_ADD_ENRL$115$").first.click()
# confirm classes
browser.find_by_id("DERIVED_REGFRM1_SSR_PB_SUBMIT").first.click()
示例5: Retreiver
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
class Retreiver():
def __init__(self, folder):
self.aux = Auxiliary()
self.folder = folder
self.tickers = None
def click(self, destination):
try:
self.browser.find_by_text(destination).first.click()
except splinter.exceptions.ElementDoesNotExist:
self.browser.click_link_by_text(destination)
def retreive(self):
print ('Please enter the period for retrieval.')
raw_dates = input ('Dates in European format: dd/mm/yyyy\n>')
eurodates = self.aux.date_parse(raw_dates)[0]
dates = self.aux.european_dates_to_american(eurodates)
raw_tickers = input ('Tickers:\n>')
self.tickers = self.aux.parse_tickers(raw_tickers)
self.browser = Browser('chrome')
for ticker in self.tickers:
self.browser.visit('https://beta.finance.yahoo.com/quote/%s/history' % ticker)
time.sleep(5)
input_boxes = self.browser.find_by_tag('input')
for i in range(0,6):
input_boxes[i+2].fill(dates[i]) #we need 3-8 inputs
self.click('Apply')
download_link = self.browser.find_link_by_text('Download data').first
response = requests.get(download_link['href'])
with open('%s//%s.csv' % (self.folder, ticker), 'wb') as f:
f.write(response.content)
self.browser.quit()
def put_together(self):
if not self.tickers:
self.tickers = []
for f in os.listdir(self.folder):
self.tickers.append(f[:-4])
target = openpyxl.Workbook()
sheet = target.active
sheet.append(self.tickers)
for filename in os.listdir(self.folder):
source = open('%s//%s' %(self.folder, filename), 'r', encoding='utf-8')
sheet = target.create_sheet()
sheet.title = filename[:-4] #strip out the extension
for line in source:
sheet.append(self.aux.parse_comma_separated_line(line))
source.close()
target.save('Historical_data_together.xlsx')
示例6: print
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
button.click() # Click OK
break
# --Download page reached--
format = browser.find_by_id('downloadFormatMenu0').first # Open download format chooser
format.click()
# Switch to your desired download format
for a in browser.find_by_tag('a'):
if dl_format+' -' in a.value:
a.click()
print('Switching to '+dl_format+' format.')
break
# Print format being used
format = browser.find_by_id('downloadFormatMenu0').first
print('Format: '+format.value)
# Wait while the download is being prepared...
print('Preparing download.')
while browser.is_text_present('preparing'):
time.sleep(5)
# Grab final download link
downloadLink = browser.find_link_by_text('Download').first
print('Got download link! Starting download...')
url = downloadLink['href']
file_name = wget.download(url) # Download the link using wget
# Repeat for other albums in the list
示例7: Browser
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
countryList = ['australia','chile']
countryTypeList = ['developed_', 'developing_']
typeaNameList = ['Existing_Scotia_Public', 'Existing_Scotia_Private', 'Non_Scotia_Public', 'Non_Scotia_Private']
devdCompanyNameList = ['TOYOTA TSUSHO CORPORATION','BASCO DESEMBUAGE','A&T CORPORATION','asdf']
devgCompanyNameList = [countryList[1],countryList[1],countryList[1],'asdf']
# open browser, navigate to the right page, configure,
from splinter import Browser
browser = Browser()
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
browser.visit('https://clientnet-uat.gbm.bns:8090/CNETADMIN/login.jsp?ssosrc=http%3A%2F%2Fclientnet-uat.gbm.bns%2FCNETCORP%2Findex.do')
browser.fill('uid', 'ychoe')
browser.fill('pwd', 'Winter15')
browser.find_by_name('signin').first.click()
browser.fill('clientSearchString', 'jason\'s client')
browser.find_by_name('search').first.click()
browser.find_by_value('GO').first.click()
while len(browser.find_link_by_text('Delete'))>0:
browser.find_link_by_text('Delete').first.click()
browser.get_alert().accept()
示例8: DownPatent
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
class DownPatent(object):
def __init__(self, db, down_url):
self.db = db
self.down_url = down_url
self.browser = Browser("phantomjs", wait_time=10)
#self.browser = Browser()
#下载专利
def download(self, patentno):
#访问网页
#网页加载超时
#down_flag, 0:未下载,1:不存在,2:下载失败
download_link = ""
down_flag = 0
if True:
print "打开网页"
self.browser.visit(self.down_url)
if not self.browser.is_element_not_present_by_value("查询", wait_time=10):
#填写专利号
self.browser.fill("cnpatentno", patentno)
self.browser.find_by_value("查询").first.click()
print "填写专利号"
#连接超时,404
if self.browser:
print "打开验证码网页"
#一个最多循环20次
code_handler = CodeHandler()
#填写验证码
list_fill_text = []
#验证码路径
list_code_path = []
#验证码分割标志
list_split_flag = []
#验证码识别标志
list_reg_flag = []
for code_num in xrange(20):
print code_num
#查找验证码
if not self.browser.is_element_not_present_by_id("getcode", wait_time=5):
print "查找验证码"
#截图
#self.browser.driver.maximize_window()
self.browser.driver.save_screenshot("screenshot.png")
#获取验证码图片
image = Image.open("screenshot.png")
image_location = self.find_location(image)
image_code = image.crop((image_location[0], image_location[1], image_location[0]+52, image_location[1]+21))
save_path = "static/images/onlinecode/" + time.ctime() + ".png"
save_path_temp = "../%s" % save_path
image_code.save(save_path_temp)
list_code_path.append(save_path)
#分割图片
list_split_image = self.deal_split(code_handler, image_code)
#识别,如果能正确识别,则识别,不能,则重新获取验证码
if len(list_split_image) == 4:
print "正确分割"
list_split_flag.append(1)
reg_plain_text = self.reg_code(list_split_image)
fill_text = "".join(reg_plain_text)
list_fill_text.append(fill_text)
#填写验证码
#hand_fill_text = raw_input("Enter fill text:")
self.browser.fill("ValidCode", fill_text)
self.browser.find_by_value("确定").first.click()
print self.browser.html.encode("utf-8").find("验证码输入错误")
if self.browser.html.encode("utf-8").find("验证码输入错误") == -1:
list_reg_flag.append(1)
if self.browser.html.encode("utf-8").find("没有找到该专利") == -1:
down_link_one = self.browser.find_link_by_text("申请公开说明书图形下载(标准版)")
down_link_two = self.browser.find_link_by_text("申请公开说明书图形下载(极速版)")
if down_link_one or down_link_two:
print "查找说明书图形下载链接"
list_reg_flag.append(1)
if down_link_one:
self.browser.click_link_by_text("申请公开说明书图形下载(标准版)")
else:
self.browser.click_link_by_text("申请公开说明书图形下载(极速版)")
print "查找下载链接"
#查找下载链接
download_a = self.browser.find_link_by_text("下载专利")
if download_a:
download_link = download_a["href"]
#找到下载链接
down_flag = 3
break
else:
print "下载失败"
#下载失败
down_flag = 2
break
'''
else:
print "识别正确,未找到链接"
list_reg_flag.append(0)
self.browser.back()
#.........这里部分代码省略.........
示例9: Institution
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
typeaName = typeaNameList[cType]
if cType == 0 or cType == 1:
# pass
for igType in igTypeListScotia:
# fdsf
browser.find_by_name('addScenario').first.click()
browser.fill('scName', countryTypeList[conIndex]+typeaName+igType)
browser.type('scEffDate', '\b\b\b\b\b\b\b\b\b\b')
browser.type('scEffDate', '2015-10-31')
browser.find_by_name('update').first.click()
browser.find_link_by_text('Obligor').first.click()
# choose the companyType type
element = browser.find_by_name('companyType').first
element.select(str(cType))
browser.fill('obligorName', companyName)
browser.find_by_name('ObligorSearch').first.click()
browser.find_link_by_partial_href('javascript:refPortResult')[0].click()
# select "B-III counterpaty type" to be "corporate"
element = browser.find_by_name('counterPartyType').first
element.select('1')
# select "Classification re Asset Value Correlation" to be "Non-Financial Institution (N)"
element = browser.find_by_name('avc').first
示例10: main
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
def main(argv):
email = None
txtipt = None
socks = None
socksPort = None
try:
opts, args = getopt.getopt(argv, "hi:m:S:P:",["port=","socks=","input=","mail=","help"])
except:
print "Use --help for help"
sys.exit(2)
for opt, arg in opts:
if opt in ("-h", "--help"):
print 'Usage %s options \n' % (os.path.basename(__file__))
print ' -h, --help This help'
print ' -m, --mail Your facebook login email'
print ' -i, --input Your input file name'
print ' -S, --socks Socks Proxy Address for Tor use'
print ' -P, --port Port Socks for Tor use'
sys.exit()
elif opt in ("-i","--input"):
txtipt = arg
elif opt in ("-m","--mail"):
email = arg
elif opt in ("-S","--socks"):
socks = arg
elif opt in ("-P","--port"):
socksPort = arg
if not email or not txtipt:
print 'Use --help for help'
sys.exit()
password = getpass.getpass()
if socks and socksProt:
proxy_settings = {
'network.proxy.type':1,
'network.proxy.socks': socks,
'network.proxy.socks_port': socksPort
}
browser = Browser('firefox',profile_preferences=proxy_settings)
else:
browser = Browser()
# with Browser() as browser:
browser.visit('https://m.facebook.com/')
browser.fill("email",email);
browser.fill("pass",password);
browser.find_by_name("login").click()
if browser.is_element_present_by_css('.login_error_box'):
print 'The email and password didn\'t work.'
sys.exit()
try:
fileipt = open(txtipt, 'r')
except:
sys.exit('Unable to open file %s' % txtipt)
for line in fileipt:
browser.visit(line)
addButton = browser.find_link_by_text('Add Friend')
if len(addButton) > 0:
addButton[0].click()
示例11: Browser
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
countryTypeList = ['developed_', 'developing_']
typeaNameList = ['Existing_Scotia_Public', 'Existing_Scotia_Private', 'Non_Scotia_Public', 'Non_Scotia_Private']
devdCompanyNameList = ['TOYOTA TSUSHO CORPORATION','BASCO DESEMBUAGE','A&T CORPORATION','asdf']
devgCompanyNameList = [countryList[1],countryList[1],countryList[1],'asdf']
# open browser, navigate to the right page, configure,
from splinter import Browser
browser = Browser()
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
browser.visit('https://clientnet-uat.gbm.bns:8090/CNETADMIN/login.jsp?ssosrc=http%3A%2F%2Fclientnet-uat.gbm.bns%2FCNETCOMM%2Findex.do')
browser.fill('uid', 'ychoe')
browser.fill('pwd', 'Winter15')
browser.find_by_name('signin').first.click()
browser.find_link_by_text('International Banking').first.click()
browser.fill('clientSearchString', 'RF vs RFDA test cases')
browser.find_by_name('search').first.click()
browser.find_by_value('GO').first.click()
while len(browser.find_link_by_text('Delete'))>0:
browser.find_link_by_text('Delete').first.click()
browser.get_alert().accept()
开发者ID:yuxianggu,项目名称:deal_creater_5_deals,代码行数:30,代码来源:scenario_delete_all_IB_'RF+vs+RFDA+test+cases'.py
示例12: Browser
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
typeaNameList = ['scotia_pub_', 'scotia_priv_', 'nonsco_pub_', 'nonsco_priv_']
typeaNameList2 = ['scotia_pub', 'scotia_priv', 'nonsco_pub', 'nonsco_priv']
devdCompanyNameList = ['TOYOTA TSUSHO CORPORATION','BASCO DESEMBUAGE','A&T CORPORATION','asdf']
devgCompanyNameList = [countryList[1],countryList[1],countryList[1],'asdf']
# open browser, navigate to the right page, configure,
from splinter import Browser
from splinter import driver
browser = Browser()
browser.visit('https://clientnet-uat.gbm.bns:8090/CNETADMIN/login.jsp?ssosrc=http%3A%2F%2Fclientnet-uat.gbm.bns%2FCNETCOMM%2Findex.do')
browser.fill('uid', 'ychoe')
browser.fill('pwd', 'Winter15')
browser.find_by_name('signin').first.click()
browser.find_link_by_text('International Banking').first.click()
browser.fill('clientSearchString', 'RF vs RFDA test cases')
browser.find_by_name('search').first.click()
browser.find_by_value('GO').first.click()
for conIndex in range(2):
for cType in range(4):
if conIndex == 0:
companyName = devdCompanyNameList[cType]
else:
companyName = devgCompanyNameList[cType]
typeaName = typeaNameList[cType]
示例13: TestViews
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
class TestViews(unittest.TestCase):
def setUp(self):
"""Test setup """
#define browser instance
self.browser = Browser("phantomjs")
#Set up the tables in the database
Base.metadata.create_all(engine)
#Create an example user
self.user = User(name="Alice", email="[email protected]", password=generate_password_hash("test"))
session.add(self.user)
session.commit()
self.process = multiprocessing.Process(target=app.run, kwargs={"port": 8080})
self.process.start()
time.sleep(1)
def test_login_correct(self):
#navigate to demo website
self.browser.visit("http://127.0.0.1:8080/login")
#enter user name and password in their fields
self.browser.fill("email", "[email protected]")
self.browser.fill("password", "test")
#define Log in button
button = self.browser.find_by_css("button[type=submit]")
#click on the Log in button
button.click()
self.assertEqual(self.browser.url, "http://127.0.0.1:8080/")
def test_login_incorrect(self):
self.browser.visit("http://127.0.0.1:8080/login")
self.browser.fill("email", "bo[email protected]")
self.browser.fill("password", "test")
button = self.browser.find_by_css("button[type=submit]")
button.click()
self.assertEqual(self.browser.url, "http://127.0.0.1:8080/login")
def test_logout(self):
#navigate to demo log in website
self.browser.visit("http://127.0.0.1:8080/login")
self.browser.fill("email", "[email protected]")
self.browser.fill("password", "test")
button = self.browser.find_by_css("button[type=submit]")
button.click()
#confirm return to home page
self.assertEqual(self.browser.url, "http://127.0.0.1:8080/")
#navigate to demo log out website
self.browser.visit("http://127.0.0.1:8080/logout")
#confirm log out link exists
logout_link= self.browser.find_link_by_text("Log out")
#confirm return to log in page
self.assertEqual(self.browser.url, "http://127.0.0.1:8080/login")
def test_add_entry_edit(self):
self.browser.visit("http://127.0.0.1:8080/login")
self.browser.fill("email", "[email protected]")
self.browser.fill("password", "test")
button = self.browser.find_by_css("button[type=submit]")
button.click()
self.assertEqual(self.browser.url, "http://127.0.0.1:8080/")
# check add entry link exists
self.browser.visit("http://127.0.0.1:8080/entry/add")
first_found = self.browser.find_by_name("title").first
last_found = self.browser.find_by_name("content").last
button = self.browser.find_by_css("button[type=submit]")
self.browser.visit("http://127.0.0.1:8080/entry/edit")
self.browser.find_by_name("title")
self.browser.find_by_name("content")
# self.browser.find_by_value("entry_title").first why is splinter not recognising flask format in html
#self.browser.find_by_value("entry_content").last
button = self.browser.find_by_css("button[type=submit]")
#self.assertEqual(self.browser.url, "http://127.0.0.1:8080/") this gives error
# all tests are running ok but I noticed that get/entry/edit gave a 404. Why?
#test entry author is th person editing and is logged in
def tearDown(self):
""" Test teardown """
# Remove the tables and their data from the database
#.........这里部分代码省略.........
示例14: UploadTestCase
# 需要导入模块: from splinter import Browser [as 别名]
# 或者: from splinter.Browser import find_link_by_text [as 别名]
class UploadTestCase(unittest.TestCase):
def setUp(self):
self.testbed = testbed.Testbed()
self.testbed.activate()
self.testbed.init_datastore_v3_stub()
self.testbed.init_memcache_stub()
self.browser = Browser('chrome')
def tearDown(self):
self.testbed.deactivate()
def test_when_create_task_upload_file(self):
#login
self.browser.visit("http://127.0.0.1:8080/")
self.assertEqual(self.browser.find_by_tag("h3").first.text, "Not logged in")
self.browser.find_by_id("submit-login").first.click()
self.assertEqual(self.browser.find_link_by_text("Insurance").first.text, "Insurance")
self.browser.visit("http://127.0.0.1:8080/tasks")
self.browser.click_link_by_text('Create new task')
self.browser.fill('title', 'title')
self.browser.fill('text', 'text')
self.browser.is_element_present_by_name('files[]', wait_time=10)
self.browser.attach_file('files[]', os.path.join(os.path.dirname(__file__),'1.png'))
#self.browser.attach_file('files[]', 'test/1.png')
self.browser.find_by_css('.btn.btn-primary.start').first.click()
self.assertEqual(1, len(self.browser.find_by_css('.template-download.fade.in')))
self.assertEqual(4, len(self.browser.find_by_css('.template-download.fade.in td')))
def test_when_create_task_upload_many_files(self):
#login
self.browser.visit("http://127.0.0.1:8080/")
self.assertEqual(self.browser.find_by_tag("h3").first.text, "Not logged in")
self.browser.find_by_id("submit-login").first.click()
self.assertEqual(self.browser.find_link_by_text("Insurance").first.text, "Insurance")
self.browser.visit("http://127.0.0.1:8080/tasks")
self.browser.click_link_by_text('Create new task')
self.browser.fill('title', 'title')
self.browser.fill('text', 'text')
self.browser.is_element_present_by_name('files[]')
self.browser.attach_file('files[]', os.path.join(os.path.dirname(__file__),'1.png'))
self.browser.attach_file('files[]', os.path.join(os.path.dirname(__file__),'1.png'))
self.browser.attach_file('files[]', os.path.join(os.path.dirname(__file__),'1.png'))
#self.browser.attach_file('files[]', 'test/1.png')
self.browser.find_by_css('.btn.btn-primary.start').first.click()
sleep(3)
self.assertEqual(3, len(self.browser.find_by_css('.files tr.template-download')))