Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.59 KB | None | 0 0
  1. require 'capybara'
  2. require 'capybara/dsl'
  3. require 'selenium/webdriver'
  4. require 'net/http'
  5. require 'json'
  6.  
  7. Selenium::WebDriver::Firefox::Binary.path='C:\Program Files\Mozilla Firefox\firefox.exe'
  8.  
  9. Capybara.current_driver = :selenium
  10.  
  11. def getDomain
  12.   url = 'http://api.temp-mail.ru/request/domains/format/json/'
  13.   uri = URI(url)
  14.   response = Net::HTTP.get(uri)
  15.   json = JSON.parse(response)
  16.   return json[0]
  17. end
  18.  
  19. def confirmRegistration(email)
  20.   url = 'http://api.temp-mail.ru/request/mail/id/' + Digest::MD5.hexdigest(email) + '/format/json/'
  21.   uri = URI(url)
  22.   response = Net::HTTP.get(uri)
  23.   json = JSON.parse(response)
  24.   link = json[0]['mail_html'].split('"')[1]
  25.   Capybara.visit(link)
  26.  
  27.   return !(Capybara.first('.block-alerts') == nil)
  28. end
  29.  
  30. def registerUser(login, password)
  31.   email = SecureRandom.hex(6) + getDomain
  32.  
  33.   Capybara.visit('https://dev.by/registration')
  34.   Capybara.fill_in :user_username, with: login
  35.   Capybara.fill_in :user_email, with: email
  36.   Capybara.fill_in :user_password, with: password
  37.   Capybara.fill_in :user_password_confirmation, with: password
  38.   Capybara.check('user_agreement')
  39.   Capybara.click_button('Зарегистрироваться')
  40.  
  41.   if confirmRegistration(email)
  42.     puts login + ' ' + password
  43.   else
  44.     raise 'Confirmation error'
  45.   end
  46. end
  47.  
  48. def registerRandomUser
  49.   login = SecureRandom.hex(6)
  50.   password = SecureRandom.hex(6)
  51.   registerUser(login, password)
  52. end
  53.  
  54. i = 0
  55. while i < ARGV[0].to_i  do
  56.   begin
  57.     registerRandomUser
  58.   rescue Exception
  59.     puts "Не удалось. Ошибка: #{$!}"
  60.     i-=1
  61.   end
  62.   i+=1
  63. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement