SlideShare a Scribd company logo
bot.setup([js: false, css: false])
bot.go "http://blog.com"
bot.siteErrorIf ('text_exists', '502 Bad Gateway')
bot.set ".//*[@id='user_login']", blog.user, "username"
bot.set ".//*[@id='user_pass']", blog.password, "password"
bot.click(".//input[@id='wp-submit']", "login button")
bot.bannedIf "text_exists", "ERROR : Invalid username"
bot.bannedIf "text_exists", "ERROR : Your account has been marked as a spammer"
bot.invalidIf "text_exists", "ERROR"
bot.checkIf "text_exists", 'Sign Out'
bot.go blog.url + "/wp-admin/post-new.php"
bot.siteErrorIf('text_exists', '502 Bad Gateway')
bot.set ".//*[@id='title']", content.title, 'post title', "input"
bot.set ".//*[@id='content']", content.body, "post body", "textarea"
bot.click ".//input[@type='submit' and @id='publish']", 'post submit'
bot.posted true
bot.setSuccess bot.get(["//span[@id='view-post-btn']/a", "//*[@id='post-preview']"], "href", "view
post")
bot.setup ([js:true])
bot.go blog.url
bot.invalidIf "url_contains","notfound"
bot.js false
bot.go "${blog.url}/login.htm"
bot.set "//input[@id='login']", blog.user,"username","input"
bot.set "//input[@name='password']", blog.password,"password","input"
bot.click "//input[@type='submit' and @name='submit']","login button","button"
bot.bannedIf "text_exists","Wrong login/password."
bot.stopIfNot "url_contains","index.htm"
bot.js true
bot.go "${blog.url}/admin.php?ctrl=posts&tab=edit&blog=1"
bot.set "//input[@id='post_title']", content.title,"post title","input"
bot.executeJs "activate_tinymce('post_content');"
bot.set "//textarea[@id='post_content']", content.body,"post content","input"
bot.click "//input[@type='submit' and @class='submit_ok']","submit post","button"
bot.posted true
bot.click "Permalink","view post","text"
bot.success = bot.url
bot.setup ([js:true])
bot.go blog.url
bot.siteErrorIf ('text_exists', '502 Bad Gateway')
bot.invalidIf "url_contains","notfound"
bot.js false
bot.go "${blog.url}/login.htm"
bot.siteErrorIf ('text_exists', '502 Bad Gateway')
bot.set "//input[@id='login']", blog.user,"username","input"
bot.set "//input[@name='password']", blog.password,"password","input"
bot.click "//input[@type='submit' and @name='submit']","login button","button"
bot.bannedIf "text_exists","Wrong login/password."
bot.stopIfNot "url_contains","index.htm"
bot.js true
bot.go "${blog.url}/admin.php?ctrl=posts&tab=edit&blog=1"
bot.set "//input[@id='post_title']", content.title,"post title","input"
bot.executeJs "activate_tinymce('post_content');"
bot.set "//textarea[@id='post_content']", content.body,"post content","input"
bot.click "//input[@type='submit' and @class='submit_ok']","submit post","button"
bot.posted true
bot.click "Permalink","view post","text"
bot.success = bot.url
siteErrorIf('text_exists', '502 Bad Gateway')
bot.setup ([js: true, css: true, domains:['onlinegame.rail-nation.com']])
bot.go "http://tribe.net/welcome?action=TribeLogout"
bot.set ".//*[@id='email']", blog.user, "username","input"
bot.set ".//*[@id='password']", blog.password, "password","input"
bot.click ".//input[@type='submit' and @value='sign in']", "login button","button"
bot.sleep 5000
bot.badProxyIf('text_exists', 'The requested URL could not be retrieved')
bot.bannedIf('text_exists', 'Invalid e-mail or password')
bot.checkIf("text_exists", "sign out", true, 10, 5)
bot.click "//a[contains(text(), 'blog post')]", "new post", "link_xpath"
bot.checkIf "path_exists", "//*[@id='topic_subject']", true, 5, 5
bot.set ".//*[@id='topic_subject']", content.title, 'post title', "input"
bot.set ".//*[@id='topic_body']", content.body, "post body", "input", "TEXT"
bot.click "submit", "submit button", "text"
bot.sleep(3000)
bot.checkIf("text_exists", "edit this post", true, 5, 5)
bot.posted true
bot.click "permalink", "view entry", "text"
bot.setSuccess bot.url
bot.setup([js: false])
bot.go "http://alplist.com/login.php"
bot.set "//input[@id='username']", blog.user, "username", "input"
bot.set "//input[@id='password']", blog.password, "password", "input"
bot.click ".//*[@type='submit' and @value='Login']", 'sign in button', 'button'
bot.invalidIf "text_exists", "Username or Password incorrect"
bot.checkIf "text_exists", "Logout", true
bot.go "http://alplist.com/add_story.php"
bot.set "//*[@id='story_url']", content.url, "url", "input"
bot.click ".//*[@type='submit' and @value='Continue']", 'next', 'button'
bot.checkIf "text_exists", "Story Title", true, 10, 2
content.title = bot.left(content.title, 80)
bot.set "//*[@id='story_title']", content.title, "subject", "input"
bot.set "//*[@id='story_desc']", content.body, "description", "input"
bot.set "story_category", "0", "category", "radio_random"
bot.captcha("//*[@id='add_story']//img[@src='seccode.php']", "//*[@id='security_code']")
bot.click ".//*[@type='submit' and @value='Submit Story']", 'publish bookmark', 'button'
bot.go http://alplist.com/add_story.php
def urlparam = "${content.url}?p=${bot.random(1,1000)}"
bot.set("//*[@id='story_url']", urlparam,"url", "input")
bot.click ".//*[@type='submit' and @value='Continue']", 'next', 'button'
bot.checkIf("text_exists", "More Info", true)
bot.click "More Info", "post entry", "text"
bot.posted true
bot.setSuccess bot.url
bot.setup([js: true, css: true])
bot.start "1. Login "
bot.go "http://url.org/signin/"
bot.set "//*[@id='username']", blog.user, "username", "input"
bot.set "//input[@id='password']", blog.password, "password", "input"
bot.click ".//input[@type='submit' and @name='submitted']", 'sign in button', 'button'
bot.invalidIf "text_exists", "The details you have entered are incorrect"
bot.checkIf "text_exists", "Log Out", true
bot.start "2. Add a Bookmark"
bot.click "Add a Bookmark", "add bookmark link", "text"
bot.set "//*[@id='address']", content.url, "url", "input"
bot.set "//*[@id='titleField']", content.title, "subject", "input"
bot.set "//input[@name='description']", bot.left(content.body, 255), "description", "input"
bot.set "//*[@id='tags']", content.tags, "tags", "input"
bot.captcha("//*[@id='page_2']/form//img", "//*[@name='imagepasswd']")
bot.click ".//input[@type='submit' and @name='submitted']", 'publish bookmark', 'button'
bot.checkIf "path_exists", "//*[@id='bookmarks']//a[contains(text(), '${content.title}')]", true, 5,
5
bot.posted true
//could not get exactly URL. return my bookmarks link
bot.setSuccess bot.url
bot.setup([js: true, css: true])
bot.start "1. Login "
bot.go "http://www.folkd.com/page/login.html"
bot.set "//*[@id='username']", blog.user, "username", "input"
bot.set "//input[@id='password']", blog.password, "password", "input"
bot.click ".//input[@type='submit' and @id='submit_login']", 'sign in button', 'button'
bot.invalidIf "text_exists", "Invalid "
bot.checkIf "text_exists", "Logout", true
bot.start "2. Add a Bookmark"
bot.go "http://www.folkd.com/page/submit.html"
bot.set "//*[@id='url_page']", content.url, "url", "input"
bot.click ".//button[@type='submit']", 'submit link', 'button'
bot.set "//*[@id='add_title']", content.title, "subject", "input"
bot.set "//*[@id='add_description']", content.body, "description", "input"
def tags = ""${content.tags}""
tags = tags.replace(",", "" "")
bot.set "//*[@id='add_tags_show']", tags, "tags", "input"
bot.set(bot.get(".//div[@id='recaptcha_image']/img", "src"),
".//*[@id='recaptcha_response_field']")
bot.click ".//input[@type='submit']", 'publish bookmark', 'button'
bot.checkIf "text_exists", "Great! Your Link has been saved", true
bot.click "Details", "bookmark entry", "text"
bot.posted true
bot.setSuccess bot.url
TopSEOBacklinks.com
TODO: Duplicate article, check to append ?p=bot.random(1,1000)
http://www.rankwyz.com/app/site/dump/9213111?type=stats
TODO: Content is too long. Reduce set description :: textarea value
bot.setup([js: false])
bot.go "http://topseobacklinks.com/login.php"
bot.set ".//form[@id='thisform']//*[@name='username']", blog.user, "username", "input"
bot.set ".//form[@id='thisform']//*[@name='password']", blog.password, "password", "input"
bot.click ".//form[@id='thisform']//*[@type='submit']", 'sign in button', 'button'
bot.checkIf "path_exists", "//a[contains(@href,'/login.php')]", true
bot.go "http://topseobacklinks.com/submit.php"
def urlparam = "${content.url}?p=${bot.random(1,1000)}"
bot.set ".//form[@id='thisform']//*[@id='url']", urlparam, "url", "input"
bot.click ".//form[@id='thisform']//*[@type='submit']", 'next', 'button'
bot.invalidIf("text_exists", "Duplicate article URL", "Duplicate article")
bot.checkIf "path_exists", "//input[@id='title']", true, 10, 2
content.title = bot.left(content.title, 120)
bot.set "//input[@id='title']", content.title, "subject", "input"
bot.set ".//*[@name='category']", "1", "category", "select_random"
bot.set "//*[@id='bodytext']", bot.left(content.body,150), "description", "textarea"
bot.click ".//form[@id='thisform']//input[@type='submit']", 'publish bookmark', 'button'
bot.js false
bot.checkIf "url_contains", "upcoming", true
bot.posted true
bot.checkIf "text_exists", "${content.title}"
bot.click "Read More", "bookmark entry", "text"
bot.setSuccess bot.url
TODO: Error URL after clicked. Need to handle checking errors in click() like go()
Error: The requested URL could not be retrieved
bot.setup([js: false, domains: ['google.com/_/+1', 'twitter.com', 'facebook.com', 'sharethis.com',
'addthis.com', 'prosperent.com', ‘trafficmongrel.com’]])
bot.go "http://sfcsf.org/login.php"
bot.set ".//form[@id='thisform']//*[@name='username']", blog.user, "username", "input"
bot.set ".//form[@id='thisform']//*[@name='password']", blog.password, "password", "input"
bot.click ".//form[@id='thisform']//*[@type='submit']", 'sign in button', 'button'
bot.checkIf "path_exists", "//a[contains(@href,'/login.php')]", true
bot.go http://sfcsf.org/submit.php
def urlparam = "${content.url}?p=${bot.random(1,1000)}"
bot.set "//*[@id='url']", urlparam, "url", "input"
bot.js true
bot.click ".//form[@id='thisform']//*[@type='submit']", 'next', 'button'
bot.invalidIf("text_exists", "Duplicate article URL", "Duplicate article")
bot.checkIf "path_exists", "//input[@id='title']", true, 10, 2
bot.set "//input[@id='title']", content.title, "subject", "input"
bot.set ".//*[@name='category']", "1", "category", "select_random"
bot.set "//*[@id='bodytext']", content.body, "description", "textarea"
bot.set(bot.get(".//div[@id='recaptcha_image']/img", "src"),
".//*[@id='recaptcha_response_field']")
bot.click ".//form[@id='thisform']//input[@type='submit']", 'publish bookmark', 'button'
bot.js false
bot.checkIf "text_exists", "Confirm Details", true
bot.createAndSubmitButton("//*[@id='thisform']")
bot.posted true
bot.checkIf "text_exists", "${content.title}"
bot.click "Read More", "bookmark entry", "text"
bot.setSuccess bot.url
bot.setup([driver: true])
bot.go "http://cloudytags.com/"
bot.set "//*[@name='user']", blog.user, 'user', "input"
bot.set "//*[@name='pass']", blog.password, 'password', "input"
bot.click "//*[@id='loginbut']", "Sing in button", "button"
bot.sleep 5000
bot.checkIf "text_exists", "Logout", true, 10, 1
bot.go "http://cloudytags.com/submit.html"
bot.set "//*[@id='submitform']/*[@name='url']", content.url, "url", "input"
bot.click "//*[@id='enterurlbut']", "Post it! step1", "button"
// Wait unit adv timer will be gone away.
bot.sleep 10000
// NOTE: At least one tag should be selected.
content.tags.split(",").eachWithIndex() {item, index ->
bot.set "//input[@name='tag${index}']", "${item}", "tag${index} = ${item}", "input"
};
bot.set "//textarea[@name='ladesc']", content.title, "title", "textarea"
bot.set(bot.get(".//div[@id='recaptcha_image']/img", "src"),
".//*[@id='recaptcha_response_field']")
bot.click "//*[@id='addlinkbut']", "Post it! step2", "button"
bot.invalidIf "text_exists", "We got an error adding your link in our database", "Some problems with
posted links. Probably link is dublicated."
bot.checkIf "text_exists", "Well DONE!", true, 10, 1
bot.posted true
bot.go "http://cloudytags.com/users/${blog.user}.html"
bot.setSuccess bot.find(".//*[@id='ShowLinks']/table[1]/tbody/tr[1]/td[1]/a", "Last posted
url")?.getAttribute("href")
COMPLETED 7/3

More Related Content

PDF
Introduction to Facebook Graph API and OAuth 2
PDF
Facebook graph api
KEY
Graph API - Facebook Developer Garage Taipei
PDF
Summit2014 topic 0066 - 10 enhancements that require 10 lines of code
PPTX
Geb qa fest2017
PDF
CodeFest 2013. Ерошенко А. — Фреймворк Html Elements или как удобно взаимодей...
PPT
Jquery ui
PDF
jQuery Basic API
Introduction to Facebook Graph API and OAuth 2
Facebook graph api
Graph API - Facebook Developer Garage Taipei
Summit2014 topic 0066 - 10 enhancements that require 10 lines of code
Geb qa fest2017
CodeFest 2013. Ерошенко А. — Фреймворк Html Elements или как удобно взаимодей...
Jquery ui
jQuery Basic API

What's hot (20)

PDF
I Don't Care About Security (And Neither Should You)
PDF
I Don't Care About Security (And Neither Should You)
PDF
Persona: in your browsers, killing your passwords
PDF
How to actually use promises - Jakob Mattsson, FishBrain
PDF
Transformando os pepinos do cliente no código de testes da sua aplicação
PPTX
J Query (Complete Course) by Muhammad Ehtisham Siddiqui
KEY
The go-start webframework (GTUG Vienna 27.03.2012)
PDF
Emmet cheat-sheet
PDF
JavaScript and HTML5 - Brave New World (revised)
PDF
I Don't Care About Security
PDF
The Web beyond "usernames & passwords" (OSDC12)
PDF
jQuery: Nuts, Bolts and Bling
PPTX
Integrating OAuth and Social Login Into Wordpress
PDF
OOCSS for JavaScript Pirates jQcon Boston
PDF
Write Less Do More
PDF
The Spirit of Testing
PDF
FamilySearch Reference Client
KEY
Week 4 - jQuery + Ajax
TXT
https://www.facebook.com/valdyna.monna?fref=ts
PDF
YDN KR Tech Talk : Pipes 와 YQL 활용하기
I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
Persona: in your browsers, killing your passwords
How to actually use promises - Jakob Mattsson, FishBrain
Transformando os pepinos do cliente no código de testes da sua aplicação
J Query (Complete Course) by Muhammad Ehtisham Siddiqui
The go-start webframework (GTUG Vienna 27.03.2012)
Emmet cheat-sheet
JavaScript and HTML5 - Brave New World (revised)
I Don't Care About Security
The Web beyond "usernames & passwords" (OSDC12)
jQuery: Nuts, Bolts and Bling
Integrating OAuth and Social Login Into Wordpress
OOCSS for JavaScript Pirates jQcon Boston
Write Less Do More
The Spirit of Testing
FamilySearch Reference Client
Week 4 - jQuery + Ajax
https://www.facebook.com/valdyna.monna?fref=ts
YDN KR Tech Talk : Pipes 와 YQL 활용하기
Ad

Similar to Error found (20)

PDF
I Don't Care About Security (And Neither Should You)
PDF
03. ElasticSearch : Data In, Data Out
PDF
Laravel 로 배우는 서버사이드 #5
PDF
HtmlElements – естественное расширение PageObject
PDF
Politics News and U.S. Elections Coverage
TXT
The project gutenberg e book, fairy tales from brazil, by elsie spicer
PPTX
Обзор автоматизации тестирования на JavaScript
PDF
HTML5 - The 2012 of the Web
PDF
Nightline: Late Evening News - ABC News
PDF
HTML5 - The 2012 of the Web - Adobe MAX
PPTX
QA Fest 2017. Ярослав Святкин. Тестовый фреймворк GEB для тестирования WEB пр...
PPT
Custom Post Types and Meta Fields
PPT
Form demoinplaywithmysql
PDF
DOCX
Borrador del blog
PDF
U.S. News | National News
PDF
Devoxx 2014-webComponents
PDF
Health News & Articles | Healthy Living
PDF
PDF
I Don't Care About Security (And Neither Should You)
03. ElasticSearch : Data In, Data Out
Laravel 로 배우는 서버사이드 #5
HtmlElements – естественное расширение PageObject
Politics News and U.S. Elections Coverage
The project gutenberg e book, fairy tales from brazil, by elsie spicer
Обзор автоматизации тестирования на JavaScript
HTML5 - The 2012 of the Web
Nightline: Late Evening News - ABC News
HTML5 - The 2012 of the Web - Adobe MAX
QA Fest 2017. Ярослав Святкин. Тестовый фреймворк GEB для тестирования WEB пр...
Custom Post Types and Meta Fields
Form demoinplaywithmysql
Borrador del blog
U.S. News | National News
Devoxx 2014-webComponents
Health News & Articles | Healthy Living
Ad

More from sikushina (8)

PDF
New Rich Text Document 9.2
PDF
New Rich Text Document 2
RTF
New rich text document
PDF
Doc1 copy (3)
PDF
Doc1 copy (2)
PDF
Doc1 copy
PDF
Chapter 5 mixed use design guidelines
PDF
Htfs apt over-comm
New Rich Text Document 9.2
New Rich Text Document 2
New rich text document
Doc1 copy (3)
Doc1 copy (2)
Doc1 copy
Chapter 5 mixed use design guidelines
Htfs apt over-comm

Error found

  • 1. bot.setup([js: false, css: false]) bot.go "http://blog.com" bot.siteErrorIf ('text_exists', '502 Bad Gateway') bot.set ".//*[@id='user_login']", blog.user, "username" bot.set ".//*[@id='user_pass']", blog.password, "password" bot.click(".//input[@id='wp-submit']", "login button") bot.bannedIf "text_exists", "ERROR : Invalid username" bot.bannedIf "text_exists", "ERROR : Your account has been marked as a spammer" bot.invalidIf "text_exists", "ERROR" bot.checkIf "text_exists", 'Sign Out' bot.go blog.url + "/wp-admin/post-new.php" bot.siteErrorIf('text_exists', '502 Bad Gateway') bot.set ".//*[@id='title']", content.title, 'post title', "input" bot.set ".//*[@id='content']", content.body, "post body", "textarea" bot.click ".//input[@type='submit' and @id='publish']", 'post submit' bot.posted true bot.setSuccess bot.get(["//span[@id='view-post-btn']/a", "//*[@id='post-preview']"], "href", "view post") bot.setup ([js:true]) bot.go blog.url bot.invalidIf "url_contains","notfound" bot.js false bot.go "${blog.url}/login.htm" bot.set "//input[@id='login']", blog.user,"username","input" bot.set "//input[@name='password']", blog.password,"password","input" bot.click "//input[@type='submit' and @name='submit']","login button","button" bot.bannedIf "text_exists","Wrong login/password."
  • 2. bot.stopIfNot "url_contains","index.htm" bot.js true bot.go "${blog.url}/admin.php?ctrl=posts&tab=edit&blog=1" bot.set "//input[@id='post_title']", content.title,"post title","input" bot.executeJs "activate_tinymce('post_content');" bot.set "//textarea[@id='post_content']", content.body,"post content","input" bot.click "//input[@type='submit' and @class='submit_ok']","submit post","button" bot.posted true bot.click "Permalink","view post","text" bot.success = bot.url bot.setup ([js:true]) bot.go blog.url bot.siteErrorIf ('text_exists', '502 Bad Gateway') bot.invalidIf "url_contains","notfound" bot.js false bot.go "${blog.url}/login.htm" bot.siteErrorIf ('text_exists', '502 Bad Gateway') bot.set "//input[@id='login']", blog.user,"username","input" bot.set "//input[@name='password']", blog.password,"password","input" bot.click "//input[@type='submit' and @name='submit']","login button","button" bot.bannedIf "text_exists","Wrong login/password." bot.stopIfNot "url_contains","index.htm" bot.js true bot.go "${blog.url}/admin.php?ctrl=posts&tab=edit&blog=1" bot.set "//input[@id='post_title']", content.title,"post title","input" bot.executeJs "activate_tinymce('post_content');" bot.set "//textarea[@id='post_content']", content.body,"post content","input"
  • 3. bot.click "//input[@type='submit' and @class='submit_ok']","submit post","button" bot.posted true bot.click "Permalink","view post","text" bot.success = bot.url siteErrorIf('text_exists', '502 Bad Gateway') bot.setup ([js: true, css: true, domains:['onlinegame.rail-nation.com']]) bot.go "http://tribe.net/welcome?action=TribeLogout" bot.set ".//*[@id='email']", blog.user, "username","input" bot.set ".//*[@id='password']", blog.password, "password","input" bot.click ".//input[@type='submit' and @value='sign in']", "login button","button" bot.sleep 5000 bot.badProxyIf('text_exists', 'The requested URL could not be retrieved') bot.bannedIf('text_exists', 'Invalid e-mail or password') bot.checkIf("text_exists", "sign out", true, 10, 5) bot.click "//a[contains(text(), 'blog post')]", "new post", "link_xpath" bot.checkIf "path_exists", "//*[@id='topic_subject']", true, 5, 5 bot.set ".//*[@id='topic_subject']", content.title, 'post title', "input" bot.set ".//*[@id='topic_body']", content.body, "post body", "input", "TEXT" bot.click "submit", "submit button", "text" bot.sleep(3000) bot.checkIf("text_exists", "edit this post", true, 5, 5) bot.posted true bot.click "permalink", "view entry", "text" bot.setSuccess bot.url
  • 4. bot.setup([js: false]) bot.go "http://alplist.com/login.php" bot.set "//input[@id='username']", blog.user, "username", "input" bot.set "//input[@id='password']", blog.password, "password", "input" bot.click ".//*[@type='submit' and @value='Login']", 'sign in button', 'button' bot.invalidIf "text_exists", "Username or Password incorrect" bot.checkIf "text_exists", "Logout", true bot.go "http://alplist.com/add_story.php" bot.set "//*[@id='story_url']", content.url, "url", "input" bot.click ".//*[@type='submit' and @value='Continue']", 'next', 'button' bot.checkIf "text_exists", "Story Title", true, 10, 2 content.title = bot.left(content.title, 80) bot.set "//*[@id='story_title']", content.title, "subject", "input" bot.set "//*[@id='story_desc']", content.body, "description", "input" bot.set "story_category", "0", "category", "radio_random" bot.captcha("//*[@id='add_story']//img[@src='seccode.php']", "//*[@id='security_code']") bot.click ".//*[@type='submit' and @value='Submit Story']", 'publish bookmark', 'button' bot.go http://alplist.com/add_story.php def urlparam = "${content.url}?p=${bot.random(1,1000)}" bot.set("//*[@id='story_url']", urlparam,"url", "input") bot.click ".//*[@type='submit' and @value='Continue']", 'next', 'button' bot.checkIf("text_exists", "More Info", true) bot.click "More Info", "post entry", "text" bot.posted true bot.setSuccess bot.url
  • 5. bot.setup([js: true, css: true]) bot.start "1. Login " bot.go "http://url.org/signin/" bot.set "//*[@id='username']", blog.user, "username", "input" bot.set "//input[@id='password']", blog.password, "password", "input" bot.click ".//input[@type='submit' and @name='submitted']", 'sign in button', 'button' bot.invalidIf "text_exists", "The details you have entered are incorrect" bot.checkIf "text_exists", "Log Out", true bot.start "2. Add a Bookmark" bot.click "Add a Bookmark", "add bookmark link", "text" bot.set "//*[@id='address']", content.url, "url", "input" bot.set "//*[@id='titleField']", content.title, "subject", "input" bot.set "//input[@name='description']", bot.left(content.body, 255), "description", "input" bot.set "//*[@id='tags']", content.tags, "tags", "input" bot.captcha("//*[@id='page_2']/form//img", "//*[@name='imagepasswd']") bot.click ".//input[@type='submit' and @name='submitted']", 'publish bookmark', 'button' bot.checkIf "path_exists", "//*[@id='bookmarks']//a[contains(text(), '${content.title}')]", true, 5, 5 bot.posted true //could not get exactly URL. return my bookmarks link bot.setSuccess bot.url bot.setup([js: true, css: true]) bot.start "1. Login " bot.go "http://www.folkd.com/page/login.html" bot.set "//*[@id='username']", blog.user, "username", "input" bot.set "//input[@id='password']", blog.password, "password", "input" bot.click ".//input[@type='submit' and @id='submit_login']", 'sign in button', 'button' bot.invalidIf "text_exists", "Invalid "
  • 6. bot.checkIf "text_exists", "Logout", true bot.start "2. Add a Bookmark" bot.go "http://www.folkd.com/page/submit.html" bot.set "//*[@id='url_page']", content.url, "url", "input" bot.click ".//button[@type='submit']", 'submit link', 'button' bot.set "//*[@id='add_title']", content.title, "subject", "input" bot.set "//*[@id='add_description']", content.body, "description", "input" def tags = ""${content.tags}"" tags = tags.replace(",", "" "") bot.set "//*[@id='add_tags_show']", tags, "tags", "input" bot.set(bot.get(".//div[@id='recaptcha_image']/img", "src"), ".//*[@id='recaptcha_response_field']") bot.click ".//input[@type='submit']", 'publish bookmark', 'button' bot.checkIf "text_exists", "Great! Your Link has been saved", true bot.click "Details", "bookmark entry", "text" bot.posted true bot.setSuccess bot.url TopSEOBacklinks.com TODO: Duplicate article, check to append ?p=bot.random(1,1000) http://www.rankwyz.com/app/site/dump/9213111?type=stats TODO: Content is too long. Reduce set description :: textarea value bot.setup([js: false]) bot.go "http://topseobacklinks.com/login.php"
  • 7. bot.set ".//form[@id='thisform']//*[@name='username']", blog.user, "username", "input" bot.set ".//form[@id='thisform']//*[@name='password']", blog.password, "password", "input" bot.click ".//form[@id='thisform']//*[@type='submit']", 'sign in button', 'button' bot.checkIf "path_exists", "//a[contains(@href,'/login.php')]", true bot.go "http://topseobacklinks.com/submit.php" def urlparam = "${content.url}?p=${bot.random(1,1000)}" bot.set ".//form[@id='thisform']//*[@id='url']", urlparam, "url", "input" bot.click ".//form[@id='thisform']//*[@type='submit']", 'next', 'button' bot.invalidIf("text_exists", "Duplicate article URL", "Duplicate article") bot.checkIf "path_exists", "//input[@id='title']", true, 10, 2 content.title = bot.left(content.title, 120) bot.set "//input[@id='title']", content.title, "subject", "input" bot.set ".//*[@name='category']", "1", "category", "select_random" bot.set "//*[@id='bodytext']", bot.left(content.body,150), "description", "textarea" bot.click ".//form[@id='thisform']//input[@type='submit']", 'publish bookmark', 'button' bot.js false bot.checkIf "url_contains", "upcoming", true bot.posted true bot.checkIf "text_exists", "${content.title}" bot.click "Read More", "bookmark entry", "text" bot.setSuccess bot.url TODO: Error URL after clicked. Need to handle checking errors in click() like go() Error: The requested URL could not be retrieved bot.setup([js: false, domains: ['google.com/_/+1', 'twitter.com', 'facebook.com', 'sharethis.com', 'addthis.com', 'prosperent.com', ‘trafficmongrel.com’]]) bot.go "http://sfcsf.org/login.php" bot.set ".//form[@id='thisform']//*[@name='username']", blog.user, "username", "input" bot.set ".//form[@id='thisform']//*[@name='password']", blog.password, "password", "input"
  • 8. bot.click ".//form[@id='thisform']//*[@type='submit']", 'sign in button', 'button' bot.checkIf "path_exists", "//a[contains(@href,'/login.php')]", true bot.go http://sfcsf.org/submit.php def urlparam = "${content.url}?p=${bot.random(1,1000)}" bot.set "//*[@id='url']", urlparam, "url", "input" bot.js true bot.click ".//form[@id='thisform']//*[@type='submit']", 'next', 'button' bot.invalidIf("text_exists", "Duplicate article URL", "Duplicate article") bot.checkIf "path_exists", "//input[@id='title']", true, 10, 2 bot.set "//input[@id='title']", content.title, "subject", "input" bot.set ".//*[@name='category']", "1", "category", "select_random" bot.set "//*[@id='bodytext']", content.body, "description", "textarea" bot.set(bot.get(".//div[@id='recaptcha_image']/img", "src"), ".//*[@id='recaptcha_response_field']") bot.click ".//form[@id='thisform']//input[@type='submit']", 'publish bookmark', 'button' bot.js false bot.checkIf "text_exists", "Confirm Details", true bot.createAndSubmitButton("//*[@id='thisform']") bot.posted true bot.checkIf "text_exists", "${content.title}" bot.click "Read More", "bookmark entry", "text" bot.setSuccess bot.url bot.setup([driver: true]) bot.go "http://cloudytags.com/" bot.set "//*[@name='user']", blog.user, 'user', "input"
  • 9. bot.set "//*[@name='pass']", blog.password, 'password', "input" bot.click "//*[@id='loginbut']", "Sing in button", "button" bot.sleep 5000 bot.checkIf "text_exists", "Logout", true, 10, 1 bot.go "http://cloudytags.com/submit.html" bot.set "//*[@id='submitform']/*[@name='url']", content.url, "url", "input" bot.click "//*[@id='enterurlbut']", "Post it! step1", "button" // Wait unit adv timer will be gone away. bot.sleep 10000 // NOTE: At least one tag should be selected. content.tags.split(",").eachWithIndex() {item, index -> bot.set "//input[@name='tag${index}']", "${item}", "tag${index} = ${item}", "input" }; bot.set "//textarea[@name='ladesc']", content.title, "title", "textarea" bot.set(bot.get(".//div[@id='recaptcha_image']/img", "src"), ".//*[@id='recaptcha_response_field']") bot.click "//*[@id='addlinkbut']", "Post it! step2", "button" bot.invalidIf "text_exists", "We got an error adding your link in our database", "Some problems with posted links. Probably link is dublicated." bot.checkIf "text_exists", "Well DONE!", true, 10, 1 bot.posted true bot.go "http://cloudytags.com/users/${blog.user}.html" bot.setSuccess bot.find(".//*[@id='ShowLinks']/table[1]/tbody/tr[1]/td[1]/a", "Last posted url")?.getAttribute("href")