Robotic Testing of Mobile Apps for Truly Black-Box Automation

Robots are widely used for many repetitive tasks. Why not software testing? Robotic testing could give testers a new form of testing that’s inherently more black-box than anything witnessed previously. Toward that end, we developed Axiz, a robotic-test generator for mobile apps. Here, we compare our approach with simulation-based test automation, describe scenarios in which robotic testing is bene cial (or even essential), and tell how we applied Axiz to the popular Google Calculator app. 

Why Do Robotic Testing?

Robotic testing can address the profound shift1,2 from desktop to mobile computation. This trend is projected to gather steam,3accelerated by a concomitant shift from desktop to mobile-device ownership. Automated software testing is needed more than ever in this emerging mobile world. However, we might need to rethink some of the principles of software testing.

Mobile devices enable rich user interaction inputs such as gestures through touchscreens and various signals through sensors (GPS, accelerometers, barometers, neareld communication, and so on). They serve a wide range of users in heterogeneous and dynamic contexts 

such as geographical locations and neworking infrastructures. To adequately explore and uncover bugs, testing must be able to take into account complex interactions with various sensors uder a range of testing contexts. A suvey of mobile-app development indcated that practical mobile-app testing currently relies heavily on manual tesing, with its inherent inef ciencies and biases.4 Frameworks such as Appium (, Robotium ( /RobotiumTech/robotium), and UIAtomator ( /libraries/testing-support-library/index .html#UIAutomator) can partly support automatic test execution. However, they rely on human test script design, thereby creating a bottleneck.

Fortunately, many advances in atomated Android testing research have recently occurred.5–8However, these techniques use intrusive (partly or fully white-box) approaches to execute the generated test cases. They also assume that testing tools will enjoy developelevel permissions, which isn’t always the case.

Many such techniques need to modify the app code or even the mobile OS, while even the most black-box of approaches communicate with the app under test  (AUT) through a test harness. This isn’t truly black-box because it relies on a machine-to-machine interface between the test harness and AUT.

A truly black-box approach would make no assumptions, relying only on the device-level cyber-physical iterface between the human and app. Testing at this abstraction level also more closely emulates the experience of real users and thus might yield more realistic test cases. Furthemore, such an approach is inherently device independent, a considerable benefit in situations that might ivolve more than 2,000 different dvices under test.9

A Robotic-Testing Manifesto

Handheld devices require rethinking what black-box testing really means. Their user experience is so different from that of desktop applications that existing machine-to-machine black-box test generation lacks the realism, usage context sensitivity, and cross-platform exibility needed to quickly and cheaply generate ationable test cases.

This section sets out a manifesto for robotic testing in which the geerated test cases execute in a truly black-box (entirely nonintrusive) manner. Table 1 compares manual, simulation-based, and robotic testing.

Increased Realism

For Android testing, MonkeyLab generates test cases based on app usage data.10 Researchers have also published several approaches to geerating realistic automated test input for web-based systems.11 However, these automated test-input-based systems don’t target mobile plaforms, and the overall body of lierature on automated test input geeration has paid comparatively little attention to test case realism. 

A developer won’t act on a test sequence that reveals a crash if he or she believes that the sequence is unrealistic. Also, all automated test data generation might suffer from unrealistic tests owing to iadequate domain knowledge. Mbile computing introduces an aditional problem: a human simply might not be able to perform the tests. For example, they might require simultaneous clicking with more than five fingers.

In comparison, a robotic test harness can physically simulate hman hand gestures. Although there might be some human gestures a robot can’t make (and others that a robot can make but no human can replicate), the robotic gestures will at least be physical gestures. As such, those gestures will be closer to true human interaction than the virtual gestures simulated by current nonrbotic test environments, which siply “spit” a generated sequence of events at the AUT.

Device Independence

Existing white-box and (claimed) black-box automated testing rquires modifying the behavior of the AUT, the platform, or both. Even techniques regarded as blacbox communicate with apps though simulated signals rather than signals triggered through real sensors (for example, touchscreens or gravity sensors) on mobile devices.

As we mentioned before, robotic testing uses the same cyber-physical interface as the human user. It’s also less vulnerable to changes in the underlying platform, API intefaces, and implementation details. In a world where time to market is critical, the ability to quickly dploy on different platforms is a cosiderable advantage. 

A Better Cost–Benefit Ratio

Human-based testing is consideably expensive yet enjoys much ralism and device independence. In contrast, current automated test data generation is relatively inexpensive, relying only on computation time, yet it lacks realism and device indpendence. Robotic testing seeks the best cost–bene t ratio and combines the best aspects of human-based testing and machine-to-machine atomated testing.

Although robotic technology has historically proven expensive, we’re witnessing a rapid decrease in robotic technology’s cost. Crowsourcing, too, is reducing the cost of human-based testing12 but is ulikely to ultimately be cheaper than robotic testing.

Reduced Relianceon Assumptions

Traditional automated testing makes a number of assumptions about the system under test, whereas humabased test data generation makes fewer assumptions. Robotic testing is much closer to human-based tesing in the number of assumptions made, yet its ability to generate large numbers of test cases cheaply is much closer to existing autmated testing.


Figure 1 shows the Axiz architeture, which contains two high-level components: the robotic-test genertor and robotic-test executor.

The Robotic-Test Generator

The robotic-test generator analyzes the AUT and uses the extracted iformation (including app categories, static strings, and APIs) to adjust a realism model. This model uses prviously collected empirical data cotaining known realistic test cases.

Tabel 1: Criteria to consider when choosing manual, simulation-based, or robotic testing 

On the basis of observations of human usage, we compute a coprehensive list of properties (for eample, the delay between two adja- cent events, event types, and event patterns) that capture the underlying real-world test cases’ characteristics and properties. We hope these characteristics capture what it is to be ralistic, so that Axiz can use them to guide and constrain automated test data generation.

Figure 1. The architecture of the Axiz robotic-testing system. The robotic-test generator generates realistic tests. The robotic-test executor lters out unexecutable tests and executes the rest. 

The robotic-test generator passes the realism model and AUT to the evolutionary-search component, which generates and evolves test cases. These test cases’ realism derives from two aspects of our approach. First, by reusing and extending ralistic test cases (for example, Rbotium or Appium test scripts), we draw on previous tests manually written by the app testers. Second, by searching a solution space costrained by the realism model, we focus on generating test cases that meet the constraints identi ed ealier from crowdsourced tests.

We evaluate the generated test cases’ tness on the basis of their performance (such as code coverage and fault revelation) and realism as assessed by the realism model.

The Robotic-Test Executor

We further validate the test case cadidates by executing them on a physcal device so that they interact with it in much the same way users or maual testers might do. The robotitest executor translates the coded test scripts into machine-executable commands for the robot and then eecutes them on a robotic arm.

The arm interacts with the mbile device nonintrusively, just as a human would. This process requires inverse kinematics and calibration components to make the manipultor act accurately. A camera montors the mobile-device states. The robotic-test executor further prcesses image data from a camera through computer vision techniques, which perform object detection and oracle comparison.

Finally, the robotic-test executor sends the overall process data logged during the execution process to the test lter to determine whether the candidate test case is executable in a real-world setting. If not, the executor filters it out. Otherwise, Axiz saves the test for reuse. 

A Prototype Implementation

We implemented a prototype of Axiz to demonstrate the system’s feasibiity (see Figure 2). We built our implementation entirely from commoity hardware components, which are inexpensive, widely available, and interchangeable. We use 3D visiobased self-calibration13 to help calbrate and adjust the robotic maniulator to keep the system working reliably and to serve as input to the oracle comparator.

The manipulator is a four-axis Arduino-based robotic arm. It’s driven by stepper motors with a psition repeatability of 0.2 mm. The maximum speed of movement for each axis ranges from 115 to 210 dgrees per second (when loaded with a 200-g load, a sufficient maximum for most mobile devices). At the arm’s end is a stylus pen that simlates nger-based gestures.

An external CMOS 1,080-pixel camera monitors the test execution. We run the test generator and robot controller on a MacBook Pro laptop with a 2.3-GHz CPU and 16 Gbytes of RAM.

We employ inverse kinematics (in Python) for robotic-arm control. The object detector and oracle compartor are implemented on top of the OpenCV library. The robotic-test generator employs NSGA-II (Nodominated Sorting Genetic Algorithm II), a widely used multi-objective gnetic algorithm, for multi-objective search-based software testing, uing our (currently state-of-the-art) tool Sapienz.8 This tool generates sequences of test events that achieve high coverage and fault revelation with minimized test sequence length.

Axiz and the Google Calculator App

The Google Calculator app has had 5 to 10 million installs.14 Although it’s simple, it’s a nontrivial real-world app and thus illustrates the potential for truly black-box robotic testing.

We used the robotic-test genertor to generate realistic tests, which we executed using the robotic mnipulator. The device under test was a Nexus 7 tablet, with normal user pemissions and the of cial Android OS (without modi cation). For comparson, we introduced another Nexus 7 on which we allowed more tradtional intrusive testing. The second Nexus 7 was directly connected to the robot controller on the MacBook. The test tool for it had developer-level privileges and could modify the OS.

Figure 3 illustrates this process. The MacBook’s interpreter compnent translated the event instructions into motion speci cations for the robotic-arm controller. That cotroller then transformed the specifications into joint angle instructions on the basis of inverse kinematics. As Figure 3 shows, the robotic arm touched the buttons on the rst Nexus 7 to perform testing. The oacle comparator witnessed each test event. After each step of the test eecution, it captured images through the external camera and validated the mobile-GUI states.

Axiz accurately executed each test event speci ed in the generated robotic-test cases and passed the rquired oracle checkpoints, faithfully maximizing Sapienz’s abilities.

Figure 2. Testing mobile apps with a four-axis robotic arm. We built our implementation entirely from commodity hardware components, which are inexpensive, widely available, and interchangeable. 

Avideo of Axiz perforing this testing is here. In it, we demostrate Axiz side by side with a trditional automated-testing tool that doesn’t use a robot arm but simply produces a sequence of events. The video demonstrates that the robotic arm, built from cheap commodity hardware, can physically produce the same set of events, but more ralistically, thereby achieving greater device independence and realism.

Leave a Comment:


NickmoF 2022-07-06 22:05:12

buspar 50 mg

NickmoF 2022-07-06 21:37:47

amoxicillin 100 mg tablets

BuyEssayOnline 2022-07-06 21:34:53

Popular application letter editor for hire for university

MichaelHah 2022-07-06 21:01:20

buy cheap zoloft

Elwoodleway 2022-07-06 20:48:16

how to get finasteride

MichaelHah 2022-07-06 19:52:48

hydroxychloroquine sulfate tablet 200 mg

KiamoF 2022-07-06 19:52:27

tamoxifen australia

Michaelrok 2022-07-06 19:43:55

flomax for sale

MiamoF 2022-07-06 19:32:18

buy finasteride 1mg india

BuyEssayOnline 2022-07-06 17:41:35

Best university essay on usa

MiclLaf 2022-07-06 17:11:21

modafinil 200 mg coupon

Curtisboulp 2022-07-06 15:44:40

atenolol drug price

ZakmoF 2022-07-06 15:40:36

levaquin cipro albenza 200 mg cost

JosephWag 2022-07-06 15:24:27

levaquin 750 buy cialis paypal

BuyEssayOnline 2022-07-06 13:57:26

Top speech writer service for mba

MichaelHah 2022-07-06 12:00:40

suhagra 100mg tablet price in india

MichaelHah 2022-07-06 10:44:22

ivermectin 4 mg

TimothyFrext 2022-07-06 10:32:24

can you buy finasteride over the counter

BuyEssayOnline 2022-07-06 09:58:48

Essay writing with bibliography

PaulmoF 2022-07-06 08:25:36

sildalis without prescription

BuyEssayOnline 2022-07-06 06:00:19

Professional thesis statement editing service for college

Tommynig 2022-07-06 05:52:38

erythromycin tablets price in india

TimothyFrext 2022-07-06 04:30:15

atenolol 25 mg pill

KiamoF 2022-07-06 04:08:21

generic acyclovir tablets

Marvinced 2022-07-06 02:55:16

inderal australia

BuyEssayOnline 2022-07-06 02:06:10

Custom paper writers services uk

JackmoF 2022-07-05 23:30:37

amoxicillin 400 mg tablets

EdgarTum 2022-07-05 22:34:08

stromectol otc

BuyEssayOnline 2022-07-05 22:19:14

Department homeland security resume examples

NickmoF 2022-07-05 21:10:25

megalis 20 for female in hindi

Elwoodleway 2022-07-05 20:10:21

benicar 40 25 mg

SamuelStind 2022-07-05 19:34:03

blue capsules orlistat 60

prednisone buy cheap 2022-07-05 18:33:29

xenical toilet orlistat online buy orlistat 120 mg buy online what does orlistat do to your body

BuyEssayOnline 2022-07-05 18:32:54

Pay to write top cheap essay on donald trump

RodneyHic 2022-07-05 17:48:09

brand cialis online usa

buy paroxetine 30mg 2022-07-05 17:01:12

orlistat brand name xenical otc us orlistat 120 mg generico precio how long does it take for orlistat to kick in

EstebanDam 2022-07-05 16:55:05

buying allopurinol 100mg in mexico

WimmoF 2022-07-05 16:09:53

acyclovir 200

Curtisboulp 2022-07-05 15:09:24

ivermectin 1%cream

BuyEssayOnline 2022-07-05 14:43:24

J'essaye de t'oublier avec un autre lyrics

MiclLaf 2022-07-05 13:35:21

cheap zanaflex online

MichaelHah 2022-07-05 11:48:36

seroquel for dementia patients

TeomoF 2022-07-05 11:47:03

doxycycline 150 mg

TimothyFrext 2022-07-05 11:43:31

cialis 5mg price canada

BuyEssayOnline 2022-07-05 10:48:01

Professional article review writing site uk

MichaelHah 2022-07-05 10:38:05

tadacip for sale

MichaelExirl 2022-07-05 07:32:46

avodart 0.5 mg generic

BuyEssayOnline 2022-07-05 06:46:14

Sankofa movie essay

EvamoF 2022-07-05 06:15:29

sildalis 120 mg order usa pharmacy

RobertUnoms 2022-07-05 04:32:53

ivermectin 4

MichaelHah 2022-07-05 03:46:15

where to buy orlistat 120mg

BuyEssayOnline 2022-07-05 02:47:55

How to write a critical essay psychology

Curtisboulp 2022-07-05 02:01:07

lexapro online cheap

WimmoF 2022-07-04 23:20:05

indocin 25 mg drug

BuyEssayOnline 2022-07-04 22:58:34

Top resume ghostwriter service online

MiclLaf 2022-07-04 22:38:11

seroquel generic price united states

BuyEssayOnline 2022-07-04 19:11:00

Law intern sample cover letter

RodneyHic 2022-07-04 17:10:19

avodart prescription

Elwoodleway 2022-07-04 16:11:48

avodart prescription

YonmoF 2022-07-04 15:00:18

nolvadex tamoxifen

Mcjyfe 2022-07-04 13:40:57

ondansetron 4mg canada - simvastatin order online order valacyclovir 500mg generic

SuemoF 2022-07-04 12:16:53

buy propecia usa

JanemoF 2022-07-04 10:58:32

albendazole generic cost

DavisCuh 2022-07-04 09:02:22

propecia 5mg canada

WimmoF 2022-07-04 08:50:22

purchase metformin 500 mg

DavisCuh 2022-07-04 06:30:25

allopurinol 500

Curtisboulp 2022-07-04 05:38:07

sildalis without prescription

JasonmoF 2022-07-04 04:13:17

albuterol aerosol

BoomoF 2022-07-04 04:07:57

cozaar sale

EvamoF 2022-07-04 03:31:04

finasteride coupon

MiamoF 2022-07-04 00:31:48

cipro 500

Michaelrok 2022-07-03 23:23:23

tretinoin 0.025

EvamoF 2022-07-03 23:01:38

where can i buy ventolin

TeomoF 2022-07-03 21:52:40

amoxicillin medicine over the counter

SamuelStind 2022-07-03 21:32:29

atarax tablet price in india

TimothyFrext 2022-07-03 19:50:23

buy orlistat generic

JudymoF 2022-07-03 19:27:57

albendazole tablets online

Elwoodleway 2022-07-03 16:25:37

oral ivermectin cost

RobertUnoms 2022-07-03 15:00:59

ivermectin 8 mg

DenmoF 2022-07-03 14:56:35

levaquin buy online

Ykndpr 2022-07-03 14:46:49

buy tadalafil generic - cost celebrex 100mg tamsulosin uk

BoomoF 2022-07-03 12:44:22

levaquin 250mg

Michaelnip 2022-07-03 12:33:48

ivermectin 2ml

WimmoF 2022-07-03 12:06:53

generic levitra online

MichaelExirl 2022-07-03 10:53:58

benicar hctz

JanemoF 2022-07-03 10:38:34

lyrica online

JasonmoF 2022-07-03 10:33:03

finasteride 1 mg

JackmoF 2022-07-03 09:23:55

where to get propecia

TedmoF 2022-07-03 07:38:33

ivermectin 12

Curtisboulp 2022-07-03 06:09:24

sildalis canada

YonmoF 2022-07-03 06:00:14

neurontin online pharmacy

lxunuzledrvf 2022-07-03 05:39:37


Elwoodleway 2022-07-03 04:51:19

buy modafinil tablets online

AnnamoF 2022-07-03 04:34:09

cialis generic 60 mg

MiclLaf 2022-07-03 03:13:15

tetracycline generic brand name

JanemoF 2022-07-03 00:18:10

where to get propecia prescription

BoomoF 2022-07-03 00:16:11

tadacip 20 india

Elwoodleway 2022-07-02 16:52:01

dapoxetine online buy

JanemoF 2022-07-02 15:53:16

doxycycline buy online us

DenmoF 2022-07-02 15:38:20

buy ventolin online no prescription

WimmoF 2022-07-02 15:25:46

suhagra 500

NickmoF 2022-07-02 15:23:18

bactrim ds 800

gndkprpw 2022-07-02 14:50:35

buy ivermectin 6mg stromectol mexico buy ivermectin 12 mg

BoomoF 2022-07-02 12:24:28

propecia tablet in india

hjzjwivf 2022-07-02 10:46:38

ivermectin canada buy ivermectin in canada

Charlesquase 2022-07-02 09:44:35

levitra for sale in australia

JanemoF 2022-07-02 09:08:48

diflucan 50 mg tablets

Charlesquase 2022-07-02 07:37:07

cheap celexa online

Michaelnip 2022-07-02 06:59:27

albuterol canadian coupon

AlanmoF 2022-07-02 05:14:27

cephalexin pill clindamycin tablet coupon

MiamoF 2022-07-02 01:59:12

where can you get nolvadex

Easzqv 2022-07-02 01:44:26

order levaquin 250mg pills - purchase levaquin online cheap purchase tadalafil generic

cenforce 50 canada 2022-07-02 00:15:05

viagra free viagra pas cher livraison rapide pharmacie qui vend viagra sans ordonnance comment demander du viagra a son medecin

Charlesquase 2022-07-01 23:46:17

combivent discount

CarlmoF 2022-07-01 23:23:15

synthroid 150 mg

buy online clomid 2022-07-01 22:42:21

woman takes viagra cheap viagra australia cost of viagra at chemist warehouse what does viagra do

Elwoodleway 2022-07-01 20:38:56

buy viagra online mastercard

EvamoF 2022-07-01 18:04:05

neurontin cost australia

Davidbon 2022-07-01 15:28:56

xenical uk price

AnnamoF 2022-07-01 12:14:06

tamoxifen for sale online

Curtisboulp 2022-07-01 11:37:36

generic orlistat 60 mg

SamuelStind 2022-07-01 11:30:58

tadacip online canada

KimmoF 2022-07-01 06:49:43

buy antabuse online without prescription

Michaelrok 2022-07-01 06:35:07

ivermectin price uk

JudymoF 2022-07-01 04:31:10

strattera drug coupon

EvamoF 2022-07-01 02:32:57

allopurinol 300 mg cost

LisamoF 2022-07-01 01:38:36

gabapentin brand name in india

1985 2022-07-01 01:11:18

generic viagra online

Michaelnip 2022-06-30 23:01:14

ivermectin lotion

AmymoF 2022-06-30 22:05:57

levitra south africa

WimmoF 2022-06-30 20:37:14

buy erectafil 20

JackmoF 2022-06-30 16:10:49

avodart online uk

Michaelnip 2022-06-30 15:13:57

plaquenil 200 mg tablet

Tommynig 2022-06-30 13:30:30

citalopram online prescription

RobertUnoms 2022-06-30 13:08:29

suhagra 100 buy online

1978 2022-06-30 08:55:49

viagra pills

rcnbqgbc 2022-06-30 03:51:44 ivermectin 12 mg

Michaelnip 2022-06-30 02:06:43

cheap strattera online

EstebanDam 2022-06-30 00:40:52

buy vermox online

Fxhjxi 2022-06-29 23:38:00

losartan 50mg over the counter - buy phenergan without prescription purchase phenergan online cheap

Michaelrok 2022-06-29 23:23:28

feldene over the counter

JimmoF 2022-06-29 20:59:33

700mg zoloft

MarkmoF 2022-06-29 18:39:04

modafinil 600mg

JoemoF 2022-06-29 16:31:04

strattera 36mg cost synthroid 150 clomid 150mg

Davidbon 2022-06-29 16:13:40

nolvadex australia pharmacy

TeomoF 2022-06-29 15:49:49

zofran where to buy

TimothyFrext 2022-06-29 15:15:33

feldene 20 mg capsule

1982 2022-06-29 13:02:58

side effects of viagra

SamuelStind 2022-06-29 12:40:23

metformin discount

DenmoF 2022-06-29 11:41:07


EvamoF 2022-06-29 10:45:27

phenergan tablets 25mg uk

Marvinced 2022-06-29 10:29:11

combivent respimat cost

AmymoF 2022-06-29 10:27:19

orlistat mexico

buy latisse 2022-06-29 07:49:38

cenforce ed meds cenforce 200 mg india price getting cenforce without a prescription cenforce fm pink side effects

JanemoF 2022-06-29 07:39:48

diflucan 50 mg tablets

jfaihgds 2022-06-29 07:36:04 ivermectin 6 mg tablet

MarkmoF 2022-06-29 06:24:15

generic metformin rx online

JackmoF 2022-06-29 03:41:02

cephalexin 500 mg brand india

MarkmoF 2022-06-29 03:03:51

buy tamoxifen online

Elwoodleway 2022-06-29 00:36:00

inderal 100mg

JanemoF 2022-06-28 23:22:09

tamoxifen cost canada

JimmoF 2022-06-28 18:57:40

disulfiram coupon

CarlmoF 2022-06-28 15:44:33

clomid 50mg cost

Tommynig 2022-06-28 14:28:38

clomid from mexico

AnnamoF 2022-06-28 10:17:49

600 mg gabapentin tablet

Marvinced 2022-06-28 06:32:08

where to buy vermox in canada

Uleata 2022-06-28 05:58:51

plavix 75mg canada - methotrexate 5mg us reglan 20mg uk

Elwoodleway 2022-06-28 04:39:47

buy metformin 850 mg

BuyEssayOnline 2022-06-28 03:58:48

Professional resume writing service california

RodneyHic 2022-06-28 02:08:56

buy zovirax online

1983 2022-06-28 00:52:38


BuyEssayOnline 2022-06-27 22:54:40

To kill a mockingbird free essay courage

RodneyHic 2022-06-27 21:50:19

metformin cost uk

Davidbon 2022-06-27 21:46:23

lopressor 12.5 mg tablets

1986 2022-06-27 21:01:08

sildenafil side effects

BuyEssayOnline 2022-06-27 17:39:07

Number of dissertation committees

Michaelnip 2022-06-27 16:48:25

price of ivermectin

1986 2022-06-27 15:37:26

viagra generic

EdgarTum 2022-06-27 14:42:52

ventolin albuterol

Michaelrok 2022-06-27 13:39:40

piroxicam capsules 10mg

BuyEssayOnline 2022-06-27 12:28:15

Esl dissertation conclusion editing services usa

NickmoF 2022-06-27 09:19:34

modafinil mexico online

BuyEssayOnline 2022-06-27 07:21:40

Dissertation introduction writers service uk

MiclLaf 2022-06-27 06:10:39


BuyEssayOnline 2022-06-27 02:25:44

Doctoral dissertation agreement form d

KimmoF 2022-06-27 02:00:11

600 mg gabapentin coupon

JimmoF 2022-06-27 01:34:19

phenergan otc

AmymoF 2022-06-26 23:30:58

cephalexin tablets 125mg

UgomoF 2022-06-26 23:29:23

acyclovir 800 online no rx

BuyEssayOnline 2022-06-26 21:40:19

Esl papers editor site gb

Charlesquase 2022-06-26 20:08:05

finasteride drug

TeomoF 2022-06-26 18:23:49

erectafil 2.5

BuyEssayOnline 2022-06-26 16:45:16

Professional thesis statement editing websites uk

LisamoF 2022-06-26 15:56:55

buy provigil 200 mg

RodneyHic 2022-06-26 14:46:18

cheep cealis sublingual

SamuelStind 2022-06-26 13:44:53

vardenafil pills india

latisse sale 2022-06-26 13:22:24

lasix fluid pills furosemide price south africa para que sirve el furosemide where to buy lasix water pills

Hujjpp 2022-06-26 12:47:37

order cyclobenzaprine 15mg - buy inderal 10mg buy inderal online

BuyEssayOnline 2022-06-26 12:02:26

Resume example for experienced accountant

Davidbon 2022-06-26 11:49:42

avodart canada pharmacy

RodneyHic 2022-06-26 11:47:37

how much is levitra tablet

DavisCuh 2022-06-26 11:16:01

stromectol tab price

MarkmoF 2022-06-26 11:12:33

tetracycline 3

WimmoF 2022-06-26 09:54:53

cost of valtrex generic

PaulmoF 2022-06-26 09:53:58

buy cheap flomax

DenmoF 2022-06-26 07:53:36

erythromycin buy canada

BuyEssayOnline 2022-06-26 07:17:33

Dentist resume sample

Curtisboulp 2022-06-26 06:38:49

how much is tetracycline medication

BuyEssayOnline 2022-06-26 02:29:58

Le resume du film les choristes

BuyEssayOnline 2022-06-25 21:44:11

Nature essay by emerson summary

BuyEssayOnline 2022-06-25 17:05:12

Popular creative writing ghostwriter service usa

Curtisboulp 2022-06-25 15:10:28

cialis buy australia

BuyEssayOnline 2022-06-25 12:27:04

Laurie anderson essay

Kareeplsl 2022-06-25 10:26:00

free slots no downloades live slot play casino world slots

BuyEssayOnline 2022-06-25 08:02:37

Sample senior executive resume

BuyEssayOnline 2022-06-25 03:28:38

Imperialism essay india

1985 2022-06-25 00:19:48

generic viagra

BuyEssayOnline 2022-06-24 23:08:24

Resume java dojo

Oxdelo 2022-06-24 19:45:34

oral isotretinoin 20mg - buy zithromax for sale tetracycline cheap

BuyEssayOnline 2022-06-24 18:26:58

Dr radhakrishnan essay in tamil

Dennaplsl 2022-06-24 15:13:34

quick hit slots free casino slot machines sale free online casino

BuyEssayOnline 2022-06-24 14:03:03

Free resume templates and cover letters

BuyEssayOnline 2022-06-24 09:48:39

Professional resume ghostwriter site for mba

BuyEssayOnline 2022-06-24 05:20:42

Custom personal essay editing services for school

Zoe 2022-06-24 04:06:24

I really like what you guys tend to be up too. This kind of clever work and coverage! Keep up the good works guys I've incorporated you guys to my personal blogroll. aid for ukraine

BuyEssayOnline 2022-06-24 01:01:09

Teacher resume books

BuyEssayOnline 2022-06-23 20:43:57

Ielts writing task 1 sample paper pdf

Raneeplsl 2022-06-23 19:03:39

scatter slots girls super slots 777 casino slots online|

BuyEssayOnline 2022-06-23 16:12:46

Internet censored essay

wbxbotfj 2022-06-23 13:03:56

hydroxychloroquine pills

BuyEssayOnline 2022-06-23 11:51:46

Integrating quotations in research paper

rsnshhhh 2022-06-23 11:07:44

cheapest stromectol online stromectol 12mg for sale

BuyEssayOnline 2022-06-23 07:37:17

2 week research paper unit

BuyEssayOnline 2022-06-23 03:23:10

How to write implementation issues

Ztuomn 2022-06-23 01:28:46

order modafinil sale - budesonide pills purchase budesonide for sale

BuyEssayOnline 2022-06-22 23:13:24

Facial recognition business plan

Eadieplsl 2022-06-22 22:52:55

my konami free coins free slots free slots hollywood

TeomoF 2022-06-22 19:23:08

zyvox cost

BuyEssayOnline 2022-06-22 19:03:40

Project manager responsibilities

BuyEssayOnline 2022-06-22 14:50:48

Palm oil essays

wemriutt 2022-06-22 13:20:47

ivermectin tablets for sale generic stromectol 12mg stromectol 30mg

BuyEssayOnline 2022-06-22 10:29:49

Resume goal statement sample

BuyEssayOnline 2022-06-22 06:18:54

Thesis statement childhood leukemia

Jannelleplsl 2022-06-22 03:50:30

lucky-7-bonus baba wild slots free coins play online slots for fun

BuyEssayOnline 2022-06-22 02:06:59

Secretary position resume

BuyEssayOnline 2022-06-21 21:49:40

How to write intro to literature review

levitra 20mg price 2022-06-21 21:41:39

dapoxetine as antidepressant buy priligy online nz where to buy dapoxetine in us how to get a prescription of dapoxetine

JimmoF 2022-06-21 19:51:19

elimite online

BuyEssayOnline 2022-06-21 17:45:14

Research paper writer site uk

30mg priligy 2022-06-21 17:09:10

constipation zanaflex fexiril tizanidine tabs cost what is genetic name for zanaflex what is the max dosage you should take of zanaflex

BuyEssayOnline 2022-06-21 13:38:33

Essays on indian government & politics book

Davidbon 2022-06-21 13:23:50

clonidine hcl

BuyEssayOnline 2022-06-21 09:39:12

Essay on my favorite subject

Trmrxj 2022-06-21 09:09:16

buy viagra 50mg online - sildenafil pills 25mg order tadalafil 20mg generic

lrlzvgtt 2022-06-21 06:51:36 buy stromectol online

Ingunnaplsl 2022-06-21 06:46:00

scatter slots facebook free adult slots online myclub888

BuyEssayOnline 2022-06-21 05:35:51

Dissertation topics for international business law

Curtisboulp 2022-06-21 04:41:27

atarax tablet medication

BuyEssayOnline 2022-06-21 01:34:17

Popular critical essay ghostwriter site us

BuyEssayOnline 2022-06-20 21:31:12

Mega essays

BuyEssayOnline 2022-06-20 17:35:29

Update existing business plan gdw cash

cwmvyvbf 2022-06-20 12:00:25

buy stromectol 3 mg tablets

Neddaplsl 2022-06-20 10:41:42

pit people more slots inferno slots login free casino slot games

Dwxsnc 2022-06-20 00:03:22

cenforce 50mg for sale - purchase stromectol pill oral motilium

zzaawrqm 2022-06-19 22:15:48

hydroxychloroquine 200 mg price plaquenil online do you need a prescription for hydroxychloroquine

WimmoF 2022-06-19 14:20:01

diflucan for sale

MiamoF 2022-06-15 07:56:52

584 metformin

LisamoF 2022-06-15 03:35:41

female viagra pills price

Davidfeame 2022-06-15 00:34:55

buy viagra by paypal buying cialis online usa where to buy cialis no prescription generic for cialis where can i buy cialis in the uk cialis 20mg tablets female viagra pink pill cialis tadalafil 20mg viagra sale vancouver

Lxmbqe 2022-06-14 23:57:06

cialis walmart - viagra overnight shipping usa buy sildenafil without prescription

Perrineplsl 2022-06-14 19:47:39

harrah's free slots vegas slots online scatter slots characters

AaronBrogy 2022-06-14 15:16:59

buy fioricet medication online

tommfnwi 2022-06-14 05:49:16

stromectol 3 mg tablets price buy ivermectin 6mg

Addieplsl 2022-06-13 23:26:31

house of fun paymygame pogo slots

Leroyemave 2022-06-13 22:54:12

cialis viagra levitra sale cialis online pharmacy order viagra mexico generic cialis in canada buy cialis uk no prescription buy cialis online without prescription buy cialis vancouver buy cialis generic online cheap viagra uk next day delivery

MarkmoF 2022-06-13 19:25:15

viagra tablets pharmacy

JanemoF 2022-06-13 16:06:16

vermox canada

RobertJex 2022-06-13 13:14:14

viagra sale over counter get viagra online order viagra australia online viagra tablets buy viagra korea

Umsfov 2022-06-13 13:09:30

brand synthroid 150mcg - buy triamcinolone for sale order hydroxychloroquine 400mg online cheap

avnygwsz 2022-06-13 09:56:30

what Will 6mg Of Cialis Do?

Aurlieplsl 2022-06-13 03:12:06

free atari slots free slots 24 7 free for fun slots igt

UgomoF 2022-06-12 23:55:17

glucophage tablet 250 mg

MiamoF 2022-06-12 22:02:07

phenergan medicine

ivmwpjhi 2022-06-12 12:20:57

buy provigil 100mg pills

MiamoF 2022-06-12 10:55:43

phenergan 2

UgomoF 2022-06-12 09:48:48

tretinoin capsules

WimmoF 2022-06-12 07:16:26

can i buy zofran otc

Katineplsl 2022-06-12 06:53:24

ceaser slot free games netbet bonus slot games free

wfaxbvrv 2022-06-12 06:46:53

erythromycin drug class

Hfkztw 2022-06-12 01:25:18

buy albuterol sale - priligy 30mg canada priligy brand