Selenium adjustments.
This commit is contained in:
parent
07bd230320
commit
aea5dd643a
8 changed files with 152 additions and 394 deletions
|
@ -10,73 +10,13 @@ class AgentTicketActionLevel1Test < TestCase
|
||||||
{
|
{
|
||||||
:execute => 'close_all_tasks',
|
:execute => 'close_all_tasks',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
# create ticket
|
||||||
{
|
{
|
||||||
:execute => 'click',
|
:execute => 'create_ticket',
|
||||||
:css => 'a[href="#new"]',
|
:group => 'Users',
|
||||||
},
|
:subject => 'some subject 123äöü',
|
||||||
{
|
:body => 'some body 123äöü',
|
||||||
:execute => 'click',
|
|
||||||
:css => 'a[href="#ticket_create/call_inbound"]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 5,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'check',
|
|
||||||
:css => '.active .ticket_create',
|
|
||||||
:result => true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => 'ma',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 4,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'sendkey',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => :arrow_down,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'sendkey',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => :tab,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'select',
|
|
||||||
:css => '.active .ticket_create select[name="group_id"]',
|
|
||||||
:value => 'Users',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create input[name="subject"]',
|
|
||||||
:value => 'some subject 123äöü',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create textarea[name="body"]',
|
|
||||||
:value => 'some body 123äöü',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'click',
|
|
||||||
:css => '.active .form-actions button[type="submit"]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 6,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'check',
|
|
||||||
:element => :url,
|
|
||||||
:result => '#ticket/zoom/',
|
|
||||||
},
|
},
|
||||||
|
|
||||||
# check ticket
|
# check ticket
|
||||||
|
@ -136,73 +76,13 @@ class AgentTicketActionLevel1Test < TestCase
|
||||||
{
|
{
|
||||||
:name => 'agent ticket create 2',
|
:name => 'agent ticket create 2',
|
||||||
:action => [
|
:action => [
|
||||||
|
|
||||||
|
# create ticket
|
||||||
{
|
{
|
||||||
:execute => 'click',
|
:execute => 'create_ticket',
|
||||||
:css => 'a[href="#new"]',
|
:group => 'Users',
|
||||||
},
|
:subject => 'test to merge',
|
||||||
{
|
:body => 'some body 123äöü 222',
|
||||||
:execute => 'click',
|
|
||||||
:css => 'a[href="#ticket_create/call_inbound"]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 5,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'check',
|
|
||||||
:css => '.active .ticket_create',
|
|
||||||
:result => true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => 'ma',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 4,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'sendkey',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => :arrow_down,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'sendkey',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => :tab,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'select',
|
|
||||||
:css => '.active .ticket_create select[name="group_id"]',
|
|
||||||
:value => 'Users',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create input[name="subject"]',
|
|
||||||
:value => 'test to merge',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create textarea[name="body"]',
|
|
||||||
:value => 'some body 123äöü 222',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'click',
|
|
||||||
:css => '.active .form-actions button[type="submit"]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 6,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'check',
|
|
||||||
:element => :url,
|
|
||||||
:result => '#ticket/zoom/',
|
|
||||||
},
|
},
|
||||||
|
|
||||||
# check ticket
|
# check ticket
|
||||||
|
|
|
@ -27,84 +27,10 @@ class AgentTicketActionsLevel2Test < TestCase
|
||||||
# create ticket
|
# create ticket
|
||||||
{
|
{
|
||||||
:where => :instance1,
|
:where => :instance1,
|
||||||
:execute => 'click',
|
:execute => 'create_ticket',
|
||||||
:css => 'a[href="#new"]',
|
:group => 'Users',
|
||||||
},
|
:subject => 'some level 2 <b>subject</b> 123äöü',
|
||||||
{
|
:body => 'some level 2 <b>body</b> 123äöü',
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'click',
|
|
||||||
:css => 'a[href="#ticket_create/call_inbound"]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 5,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'check',
|
|
||||||
:css => '.active .ticket_create',
|
|
||||||
:result => true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => 'ma',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 4,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'sendkey',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => :arrow_down,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'sendkey',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => :tab,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'select',
|
|
||||||
:css => '.active .ticket_create select[name="group_id"]',
|
|
||||||
:value => 'Users',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create input[name="subject"]',
|
|
||||||
:value => 'some level 2 <b>subject</b> 123äöü',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create textarea[name="body"]',
|
|
||||||
:value => 'some level 2 <b>body</b> 123äöü',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'click',
|
|
||||||
:css => '.active .form-actions button[type="submit"]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 5,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'check',
|
|
||||||
:css => '#login',
|
|
||||||
:result => false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'check',
|
|
||||||
:element => :url,
|
|
||||||
:result => '#ticket/zoom/',
|
|
||||||
},
|
},
|
||||||
|
|
||||||
# check ticket
|
# check ticket
|
||||||
|
@ -118,7 +44,7 @@ class AgentTicketActionsLevel2Test < TestCase
|
||||||
|
|
||||||
# remember old ticket where we want to merge to
|
# remember old ticket where we want to merge to
|
||||||
{
|
{
|
||||||
:where => :instance1,
|
:where => :instance1,
|
||||||
:execute => 'match',
|
:execute => 'match',
|
||||||
:css => '.active .ticket-zoom small',
|
:css => '.active .ticket-zoom small',
|
||||||
:value => '^(.*)$',
|
:value => '^(.*)$',
|
||||||
|
@ -218,10 +144,9 @@ class AgentTicketActionsLevel2Test < TestCase
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
:execute => 'wait',
|
:execute => 'wait',
|
||||||
:value => 1,
|
:value => 3,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
# set body in edit area
|
# set body in edit area
|
||||||
{
|
{
|
||||||
:where => :instance2,
|
:where => :instance2,
|
||||||
|
|
|
@ -27,78 +27,10 @@ class AgentTicketActionsLevel3Test < TestCase
|
||||||
# create ticket
|
# create ticket
|
||||||
{
|
{
|
||||||
:where => :instance1,
|
:where => :instance1,
|
||||||
:execute => 'click',
|
:execute => 'create_ticket',
|
||||||
:css => 'a[href="#new"]',
|
:group => 'Users',
|
||||||
},
|
:subject => 'some level 3 <b>subject</b> 123äöü',
|
||||||
{
|
:body => 'some level 3 <b>body</b> 123äöü',
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'click',
|
|
||||||
:css => 'a[href="#ticket_create/call_inbound"]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 5,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'check',
|
|
||||||
:css => '.active .ticket_create',
|
|
||||||
:result => true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => 'ma',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 4,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'sendkey',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => :arrow_down,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'sendkey',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => :tab,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'select',
|
|
||||||
:css => '.active .ticket_create select[name="group_id"]',
|
|
||||||
:value => 'Users',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create input[name="subject"]',
|
|
||||||
:value => 'some level 3 <b>subject</b> 123äöü',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create textarea[name="body"]',
|
|
||||||
:value => 'some level 3 <b>body</b> 123äöü',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'click',
|
|
||||||
:css => '.active .form-actions button[type="submit"]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 6,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:where => :instance1,
|
|
||||||
:execute => 'check',
|
|
||||||
:element => :url,
|
|
||||||
:result => '#ticket/zoom/',
|
|
||||||
},
|
},
|
||||||
|
|
||||||
# check ticket
|
# check ticket
|
||||||
|
|
|
@ -10,67 +10,21 @@ class AgentTicketActionLevel4Test < TestCase
|
||||||
{
|
{
|
||||||
:execute => 'close_all_tasks',
|
:execute => 'close_all_tasks',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
# create ticket
|
||||||
{
|
{
|
||||||
:execute => 'click',
|
:execute => 'create_ticket',
|
||||||
:css => 'a[href="#new"]',
|
:group => 'Users',
|
||||||
},
|
:subject => 'some subject 4 - 123äöü',
|
||||||
{
|
:body => 'some body 4 - 123äöü',
|
||||||
:execute => 'click',
|
:do_not_submit => true,
|
||||||
:css => 'a[href="#ticket_create/call_inbound"]',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
:execute => 'wait',
|
:execute => 'wait',
|
||||||
:value => 5,
|
:value => 6,
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'check',
|
|
||||||
:css => '.active .ticket_create',
|
|
||||||
:result => true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => 'ma',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 4,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'sendkey',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => :arrow_down,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'sendkey',
|
|
||||||
:css => '.active .ticket_create input[name="customer_id_autocompletion"]',
|
|
||||||
:value => :tab,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'select',
|
|
||||||
:css => '.active .ticket_create select[name="group_id"]',
|
|
||||||
:value => 'Users',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create input[name="subject"]',
|
|
||||||
:value => 'some subject 4 - 123äöü',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'set',
|
|
||||||
:css => '.active .ticket_create textarea[name="body"]',
|
|
||||||
:value => 'some body 4 - 123äöü',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 7,
|
|
||||||
},
|
},
|
||||||
|
|
||||||
# reload instances, verify again
|
# reload instances, verify autosave
|
||||||
{
|
{
|
||||||
:execute => 'reload',
|
:execute => 'reload',
|
||||||
},
|
},
|
||||||
|
|
|
@ -176,6 +176,9 @@ class AuthTest < TestCase
|
||||||
:element => :cookie,
|
:element => :cookie,
|
||||||
:value => 'expires=>.+?\d{4}.+?,',
|
:value => 'expires=>.+?\d{4}.+?,',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
:execute => 'logout',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
|
@ -5,13 +5,13 @@ class TaskbarSessionTest < TestCase
|
||||||
def test_current_session_a_same_agent
|
def test_current_session_a_same_agent
|
||||||
tests = [
|
tests = [
|
||||||
{
|
{
|
||||||
:name => 'start',
|
:name => 'check taken over session block screen with same user',
|
||||||
:instance1 => browser_instance,
|
:instance1 => browser_instance,
|
||||||
:instance2 => browser_instance,
|
:instance2 => browser_instance,
|
||||||
:instance1_username => 'agent1@example.com',
|
:instance1_username => 'agent1@example.com',
|
||||||
:instance1_password => 'test',
|
:instance1_password => 'test',
|
||||||
:instance2_username => 'agent1@example.com',
|
:instance2_username => 'agent1@example.com',
|
||||||
:instance2_password => 'test',
|
:instance2_password => 'test',
|
||||||
:url => browser_url,
|
:url => browser_url,
|
||||||
:action => [
|
:action => [
|
||||||
{
|
{
|
||||||
|
@ -41,14 +41,14 @@ class TaskbarSessionTest < TestCase
|
||||||
def test_current_session_b_different_agent
|
def test_current_session_b_different_agent
|
||||||
tests = [
|
tests = [
|
||||||
{
|
{
|
||||||
:name => 'start',
|
:name => 'check taken over session block screen with same user',
|
||||||
:instance1 => browser_instance,
|
:instance1 => browser_instance,
|
||||||
:instance2 => browser_instance,
|
:instance2 => browser_instance,
|
||||||
:instance1_username => 'master@example.com',
|
:instance1_username => 'master@example.com',
|
||||||
:instance1_password => 'test',
|
:instance1_password => 'test',
|
||||||
:instance2_username => 'agent1@example.com',
|
:instance2_username => 'agent1@example.com',
|
||||||
:instance2_password => 'test',
|
:instance2_password => 'test',
|
||||||
:url => browser_url,
|
:url => browser_url,
|
||||||
:action => [
|
:action => [
|
||||||
{
|
{
|
||||||
:execute => 'wait',
|
:execute => 'wait',
|
||||||
|
|
|
@ -118,7 +118,12 @@ class TaskbarTaskTest < TestCase
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
:execute => 'wait',
|
:execute => 'wait',
|
||||||
:value => 3,
|
:value => 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'set',
|
||||||
|
:css => '.active .ticket_create textarea[name="body"]',
|
||||||
|
:value => 'INBOUND BODY TEST#1',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
:execute => 'click',
|
:execute => 'click',
|
||||||
|
@ -137,6 +142,15 @@ class TaskbarTaskTest < TestCase
|
||||||
:css => '.active .ticket_create input[name="subject"]',
|
:css => '.active .ticket_create input[name="subject"]',
|
||||||
:value => 'OUTBOUND TEST#1',
|
:value => 'OUTBOUND TEST#1',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
:execute => 'wait',
|
||||||
|
:value => 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
:execute => 'set',
|
||||||
|
:css => '.active .ticket_create textarea[name="body"]',
|
||||||
|
:value => 'OUTBOUND BODY TEST#1',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
:execute => 'wait',
|
:execute => 'wait',
|
||||||
:value => 12,
|
:value => 12,
|
||||||
|
|
|
@ -30,7 +30,12 @@ class TestCase < Test::Unit::TestCase
|
||||||
return local_browser
|
return local_browser
|
||||||
end
|
end
|
||||||
|
|
||||||
caps = Selenium::WebDriver::Remote::Capabilities.send( browser )
|
caps = Selenium::WebDriver::Remote::Capabilities.send(
|
||||||
|
browser,
|
||||||
|
#:forceCreateProcess => true,
|
||||||
|
#:ensureCleanSession => true,
|
||||||
|
#:internetExplorerSwitches => 'InetCpl.cpl,ClearMyTracksByProcess 2',
|
||||||
|
)
|
||||||
caps.platform = ENV['BROWSER_OS'] || 'Windows 2008'
|
caps.platform = ENV['BROWSER_OS'] || 'Windows 2008'
|
||||||
caps.version = ENV['BROWSER_VERSION'] || '8'
|
caps.version = ENV['BROWSER_VERSION'] || '8'
|
||||||
local_browser = Selenium::WebDriver.for(
|
local_browser = Selenium::WebDriver.for(
|
||||||
|
@ -70,36 +75,9 @@ class TestCase < Test::Unit::TestCase
|
||||||
:url => data[:url] || browser_url,
|
:url => data[:url] || browser_url,
|
||||||
:action => [
|
:action => [
|
||||||
{
|
{
|
||||||
:execute => 'wait',
|
:execute => 'login',
|
||||||
:value => 2,
|
:username => data[:username] || 'nicole.braun@zammad.org',
|
||||||
},
|
:password => data[:password] || 'test'
|
||||||
{
|
|
||||||
:execute => 'check',
|
|
||||||
:css => '#login',
|
|
||||||
:result => true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'set',
|
|
||||||
:css => 'input[name="username"]',
|
|
||||||
:value => data[:username] || 'nicole.braun@zammad.org',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'set',
|
|
||||||
:css => 'input[name="password"]',
|
|
||||||
:value => data[:password] || 'test'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'click',
|
|
||||||
:css => '#login button',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'wait',
|
|
||||||
:value => 2,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
:execute => 'check',
|
|
||||||
:css => '#login',
|
|
||||||
:result => false,
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -175,8 +153,8 @@ class TestCase < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def browser_element_action(test, action, instance)
|
def browser_element_action(test, action, instance)
|
||||||
puts "NOTICE: " + action.inspect
|
puts "NOTICE #{Time.now.to_s}: " + action.inspect
|
||||||
sleep 0.2
|
sleep 0.1
|
||||||
if action[:css]
|
if action[:css]
|
||||||
if action[:css].match '###stack###'
|
if action[:css].match '###stack###'
|
||||||
action[:css].gsub! '###stack###', @stack
|
action[:css].gsub! '###stack###', @stack
|
||||||
|
@ -225,9 +203,80 @@ puts "NOTICE: " + action.inspect
|
||||||
return
|
return
|
||||||
elsif action[:element] == :alert
|
elsif action[:element] == :alert
|
||||||
element = instance.switch_to.alert
|
element = instance.switch_to.alert
|
||||||
|
elsif action[:execute] == 'login'
|
||||||
|
sleep 1
|
||||||
|
login = instance.find_element( { :css => '#login' } )
|
||||||
|
if !login
|
||||||
|
assert( false, "(#{test[:name]}) no login box found!" )
|
||||||
|
return
|
||||||
|
end
|
||||||
|
element = instance.find_element( { :css => '#login input[name="username"]' } )
|
||||||
|
element.clear
|
||||||
|
element.send_keys( action[:username] )
|
||||||
|
element = instance.find_element( { :css => '#login input[name="password"]' } )
|
||||||
|
element.clear
|
||||||
|
element.send_keys( action[:password] )
|
||||||
|
instance.find_element( { :css => '#login button' } ).click
|
||||||
|
sleep 4
|
||||||
|
return
|
||||||
|
elsif action[:execute] == 'logout'
|
||||||
|
instance.find_element( { :css => 'a[href="#current_user"]' } ).click
|
||||||
|
sleep 0.1
|
||||||
|
instance.find_element( { :css => 'a[href="#logout"]' } ).click
|
||||||
|
sleep 2
|
||||||
|
login = instance.find_element( { :css => '#login' } )
|
||||||
|
if !login
|
||||||
|
assert( false, "(#{test[:name]}) no login box found!" )
|
||||||
|
return
|
||||||
|
end
|
||||||
|
assert( true, "(#{test[:name]}) logout" )
|
||||||
|
return
|
||||||
|
elsif action[:execute] == 'create_ticket'
|
||||||
|
instance.find_element( { :css => 'a[href="#new"]' } ).click
|
||||||
|
instance.find_element( { :css => 'a[href="#ticket_create/call_inbound"]' } ).click
|
||||||
|
sleep 4
|
||||||
|
element = instance.find_element( { :css => '.active .ticket_create' } )
|
||||||
|
if !element
|
||||||
|
assert( false, "(#{test[:name]}) no ticket create screen found!" )
|
||||||
|
return
|
||||||
|
end
|
||||||
|
sleep 5
|
||||||
|
element = instance.find_element( { :css => '.active .ticket_create input[name="customer_id_autocompletion"]' } )
|
||||||
|
element.clear
|
||||||
|
element.send_keys( 'ma' )
|
||||||
|
sleep 4
|
||||||
|
element = instance.find_element( { :css => '.active .ticket_create input[name="customer_id_autocompletion"]' } )
|
||||||
|
element.send_keys( :arrow_down )
|
||||||
|
sleep 0.2
|
||||||
|
element = instance.find_element( { :css => '.active .ticket_create input[name="customer_id_autocompletion"]' } )
|
||||||
|
element.send_keys( :tab )
|
||||||
|
sleep 0.1
|
||||||
|
element = instance.find_element( { :css => '.active .ticket_create select[name="group_id"]' } )
|
||||||
|
dropdown = Selenium::WebDriver::Support::Select.new(element)
|
||||||
|
dropdown.select_by( :text, action[:group])
|
||||||
|
sleep 0.1
|
||||||
|
element = instance.find_element( { :css => '.active .ticket_create input[name="subject"]' } )
|
||||||
|
element.clear
|
||||||
|
element.send_keys( action[:subject] )
|
||||||
|
sleep 0.1
|
||||||
|
element = instance.find_element( { :css => '.active .ticket_create textarea[name="body"]' } )
|
||||||
|
element.clear
|
||||||
|
element.send_keys( action[:body] )
|
||||||
|
if action[:do_not_submit]
|
||||||
|
assert( true, "(#{test[:name]}) ticket created without submit" )
|
||||||
|
return
|
||||||
|
end
|
||||||
|
sleep 0.1
|
||||||
|
instance.find_element( { :css => '.active .form-actions button[type="submit"]' } ).click
|
||||||
|
sleep 6
|
||||||
|
if instance.current_url !~ /#{Regexp.quote('#ticket/zoom/')}/
|
||||||
|
assert( true, "(#{test[:name]}) ticket creation failed, can't get zoom url" )
|
||||||
|
return
|
||||||
|
end
|
||||||
|
assert( true, "(#{test[:name]}) ticket created" )
|
||||||
|
return
|
||||||
elsif action[:execute] == 'close_all_tasks'
|
elsif action[:execute] == 'close_all_tasks'
|
||||||
# while true
|
for i in 1..100
|
||||||
for i in 1..100
|
|
||||||
begin
|
begin
|
||||||
element = instance.find_element( { :css => '.taskbar [data-type="close"]' } )
|
element = instance.find_element( { :css => '.taskbar [data-type="close"]' } )
|
||||||
if element
|
if element
|
||||||
|
@ -240,10 +289,14 @@ puts "NOTICE: " + action.inspect
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
assert( true, "(#{test[:name]}) all tasks closed" )
|
||||||
|
return
|
||||||
elsif action[:execute] == 'navigate'
|
elsif action[:execute] == 'navigate'
|
||||||
instance.navigate.to( action[:to] )
|
instance.navigate.to( action[:to] )
|
||||||
|
return
|
||||||
elsif action[:execute] == 'reload'
|
elsif action[:execute] == 'reload'
|
||||||
instance.navigate.refresh
|
instance.navigate.refresh
|
||||||
|
return
|
||||||
elsif action[:execute] == 'js'
|
elsif action[:execute] == 'js'
|
||||||
result = instance.execute_script( action[:value] )
|
result = instance.execute_script( action[:value] )
|
||||||
elsif action[:link]
|
elsif action[:link]
|
||||||
|
@ -351,9 +404,6 @@ puts "NOTICE: " + action.inspect
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elsif action[:execute] == 'check'
|
elsif action[:execute] == 'check'
|
||||||
elsif action[:execute] == 'close_all_tasks'
|
|
||||||
elsif action[:execute] == 'navigate'
|
|
||||||
elsif action[:execute] == 'reload'
|
|
||||||
elsif action[:execute] == 'js'
|
elsif action[:execute] == 'js'
|
||||||
else
|
else
|
||||||
assert( false, "(#{test[:name]}) unknow action '#{action[:execute]}'" )
|
assert( false, "(#{test[:name]}) unknow action '#{action[:execute]}'" )
|
||||||
|
|
Loading…
Reference in a new issue