A device testing system, comprising: a memory storing a plurality of screenshots associated with a first device; a first camera; a second camera; a platform arranged such that at least a portion of the platform is in a field of view of the first camera and in a field of view of the second camera; a robotic arm; and a processor coupled to the first and second cameras (113; 112) and to the memory; wherein: the first camera is arranged such that an axis that extends through a lens of the first camera extends perpendicularly towards the platform; the second camera is arranged such that an axis that extends through a lens of the second camera extends at a non-perpendicular angle towards the platform, and such that the second camera has a lesser zoom setting than the first camera, the second camera thereby sensing a greater viewing area than the first camera; the first camera is configured to transmit captured images to the processor; and the processor is configured to: cause the robotic arm to operate the first device when the first device is arranged on the platform and a second device arranged on the platform is communicating with the first device; compare images received from the first camera during the operation of the first device with the stored plurality of screenshots; determine that an error has occurred if compared images do not match; and store in the memory a video captured by the second camera during a time period during which the determined error occurred. a memory storing a plurality of screenshots associated with a first device; a first camera; a second camera; a platform arranged such that at least a portion of the platform is in a field of view of the first camera and in a field of view of the second camera; a robotic arm; and a processor coupled to the first and second cameras (113; 112) and to the memory; wherein: the first camera is arranged such that an axis that extends through a lens of the first camera extends perpendicularly towards the platform; the second camera is arranged such that an axis that extends through a lens of the second camera extends at a non-perpendicular angle towards the platform, and such that the second camera has a lesser zoom setting than the first camera, the second camera thereby sensing a greater viewing area than the first camera; the first camera is configured to transmit captured images to the processor; and the processor is configured to: cause the robotic arm to operate the first device when the first device is arranged on the platform and a second device arranged on the platform is communicating with the first device; compare images received from the first camera during the operation of the first device with the stored plurality of screenshots; determine that an error has occurred if compared images do not match; and store in the memory a video captured by the second camera during a time period during which the determined error occurred. the first camera is arranged such that an axis that extends through a lens of the first camera extends perpendicularly towards the platform; the second camera is arranged such that an axis that extends through a lens of the second camera extends at a non-perpendicular angle towards the platform, and such that the second camera has a lesser zoom setting than the first camera, the second camera thereby sensing a greater viewing area than the first camera; the first camera is configured to transmit captured images to the processor; and the processor is configured to: cause the robotic arm to operate the first device when the first device is arranged on the platform and a second device arranged on the platform is communicating with the first device; compare images received from the first camera during the operation of the first device with the stored plurality of screenshots; determine that an error has occurred if compared images do not match; and store in the memory a video captured by the second camera during a time period during which the determined error occurred. cause the robotic arm to operate the first device when the first device is arranged on the platform and a second device arranged on the platform is communicating with the first device; compare images received from the first camera during the operation of the first device with the stored plurality of screenshots; determine that an error has occurred if compared images do not match; and store in the memory a video captured by the second camera during a time period during which the determined error occurred.