�����۲�
IT��Ѷ
IT��ҵ��̬
ҵ��
��վ��Ӫ
վ����Ѷ
������
���ʻ���������
���ڻ���������
ͨ����ҵ
ͨ���豸
ͨ����Ӫ��
���ѵ���
����
�ҵ�
վ����Ѷ

֧������Դ������ʽ Android �Զ������Թ��� Solo��

���ߣ�habao ��Դ�� ���ڣ�2019-8-5 11:19:41 ������

�����������������ƶ������������չ���ƶ����Լ���Ҳȡ���˳���Ľ����������ڻ��ڲ��Խű��ĵ����Զ��������طš�ͼ��ʶ���Ʋ�ƽ̨�Ȳ��Լ�������ʵ��ҵ���������Ӧ�úʹ��£�����Ч�ʴӶ�һ����һ�α�������

����������Ҫ����֧�������ƶ�����ʵ�ֵ�һ�����߻��������롢�� Root �� Android ר����Է��� Solo�С�ֱ�Ӳٿ��ֻ�������ʵ���Զ����Ĺ��ܡ����ܡ������ԡ��Լ��ȶ��Բ��Եȹ�����

�����ƶ����� 1.0 ʱ����Ҳ���Գ�֮Ϊ̽���ڡ�����������ո�һ�յ��ֹ������������������Ч�ʳ�Ϊ���ƶ�������������Ҫ�Ŀ��⣬�ڴ��ڼ䣬���� Monkey��UiAutomator��Instruments ���ṩ�Ĺ��ߣ�ҵ�绹ӿ����һ������Ŀ�Դ�Զ������Թ���/��ܣ����Զ������������Ļ���֮�ϣ���������ʵ�ֻ������ܵ���֤�������Խ�����ܲɼ������������㷨��ʵ�ָ���ר����Ե��Զ�����������׶Σ��Զ������Եij�����̬���ڵ����򱾵�������̨ PC �ϲ�����ԣ������� Jenkins �ȹ���ʵ�ֳ������ɡ�

���������Ų��Լ����ij�����չ���ֵ����� STF �Ŀ�Դ��ҵ�翪ʼ�������Ʋ�ƽ̨�ĸ��������豸�����������Զ�������Լ�ר����Է��������ƽ̨����Ϊ�����ṩ��ȥ�����û�������һվʽ�IJ������顣��һ���棬Զ�̵��ԡ��豸���ȵȼ��������뼫����������豸�������ʣ�������Ա������ҪΪȱ�ٲ����豸����������ŶӺ�ʱ�����ġ������Ʋ�ƽ̨�û����ԣ��ڴ˽׶γ����IJ�����̬�ǣ��ڱ��� PC �Ͽ������Խű������ϴ����Ʋ�ƽִ̨�У�������ƽ̨�в鿴���Ա��棬�������̼���������

�����ڱ������������Ʋ⡱���淨֮�⣬�ƶ����� 2.0+ ʱ���µIJ��Լ����ṩ������������ijһ����С���ߣ�������Ǵ���һ�������Ľ������������Ϊ�û��ṩһ�׶��ƻ��� IDE ����ϻطš�ͼ��ʶ��ȼ������û�����ֻ��Ҫ��һЩ�򵥵Ŀ�ѡ����ק������ɲ��Խű��Ŀ�������һ���棬���ڰ칫��Ӳ�����������صģ�Խ��Խ��IJ�����Աϣ���������ƶ�����ֱ�ӷ�����ԣ������ƶ����ԡ��ƶ��⡱����Ȼ���������ƶˡ�IDE �ˡ������ƶ��ˣ���Ӧ������������ͨ��������˶�ͨ�������������ò��Է��������������ڸ��ೡ����

��������˶�ͨ���ĸ���ȽϹ㣬��ƾһƪ���¿����޷�����������������潫���ص����Ϊ��ӭ�ӡ��ƶ� 2.0+��ʱ�����������ƶ�����ʵ�ֵ�һ�����߻��������롢�� Root �� Android ר����Է��� Solo�С�ֱ�Ӳٿ��ֻ�������ʵ���Զ����Ĺ��ܡ����ܡ������ԡ��Լ��ȶ��Բ��Եȹ�����

�������׷����У��ײ�������Ҫ�ǡ����� ADB��ϵͳ�������ܡ�Chrome �����Լ�ͼ��ʶ�����������Ľ���������Ǿ����Ӧ�ó�����ͬʱ���ڵײ������Ļ����ϣ����Ƿ�װ��һ�׺����������ɡ��ؼ���λ���¼����������ܲɼ��Լ�����ע�롱��ɣ����ڷ����ʵ���ˡ��طš����ݴ���ȹ��������������ڼܹ�����ˣ���Ͻ��潻���߼���װ���˸������ܵ���ڡ�

����Ŀǰ�Ѿ���һЩʵ�� ADB ͨ��Э��� Java ��Դ��Ŀ���� AdbLib �����Ƿ�װ��һ�� ADB �ĵ���ͨ�ŷ������̳��ϵij嶯�ܹ���� PC �� ADB Server �Ľ�ɫ��������Solo��Ӧ���м����� AdbLib ��Դ�⣬��װ��һ�� ADB ����ִ�й��ߣ�Ϊ Solo�� ��������ר�����������ʵ�ֵ춨�˵Ļ��������潫��ʼΪ��ҽ��� Solo�� �ļ�����Ĺ��ܡ�

�����طŹ��ܻ��� AccessibilityService��ChromeDevToolsProtocol��ͼ��ʶ������ģʽʵ�־�ȷ���ң��������豸����ʵ�ֻطţ�Ҳ����ת��Ϊ Appium/Macaca �ȿ�ܵĽű����Խ��Ʋ�ƽ̨�����⣬Ϊ�˽��������ijɱ��������ڶ��ϻ��ṩ�������༭�����̿��ƵĹ��ܡ�

�����ڹ����У�Solo�� ����û��IJ����������أ�ʶ���û������ģ�������ǰ�����Ŀؼ�����¼�û���ǰҪ���IJ������ͣ���ÿһ�������󣬽��������ͼ�Ŀ��ؼ��ĸ�����Ϣ����¼����������Ŀؼ���Ϣ�����ؼ��� ID�����ֵȻ�����Ϣ���Լ���Բ��֡���ͼ��Ϣ�ȡ�

�����ڻط�ʱ��Solo�� ����������֮ǰ�����ݣ�ͨ�����ܲ����㷨���ۺϸ������ԣ���λĿ��ؼ����ҵ��ؼ��󣬾ͻ�ִ����Ӧ�IJ����������������ȡ������в���ִ�к󣬻�չʾ���λطŵĽ����������־����ͼ����Ϣ����Ϊ���λطŵ��ܽᡣ

�������ڴ�ͳ�� Native Ӧ�ã�ͨ�� UiAutomator dump ��ȡ�����Ծ�����ʵ���Զ����ˡ�Ȼ���������ƶ��˶�̬���������Ȳ���չ��Խ��Խ���Ӧ�ò����� ��Native + H5/С���� ���ֻ�Ͽ����ķ������ٿ��ǵ���������ҵ�ķ��ٷ�չ���ֻ���Ϸ�Զ������Ե�����ҲԽ��Խ�ࡣΪ�˾����ܵ�������ֳ�����Solo�� �ṩ�����ֲ���ģʽ��

������һ�ַ������ض�˵�����ľ��ǻ��� AccessbilityService ���ɵ�ǰ�ؼ���ͼ��������¼��id�����ֵ����ԣ������� Native ����

�����ڶ��ַ������� Chrome �ĵ���Э�飬ͨ��ע��js���Ի��ҳ�沼���Լ���Ԫ�����ԣ��ؼ��Ķ�λ˼�븨��������һ�׷�����һ�µġ������� H5/С���򳡾���

���������ַ�����ͼ��ƥ�䷽����Solo�� �ڶ���ʵ����һ��ͼ��ȶ������������ģ��ƥ�䡢����ƥ����㷨��������һ��������͵��š���������Ϸ�Զ����ij��������⣬�� Solo�� Ŀǰ�ķ����У�ͼ��ƥ������������Ϊǰ���ֶ�λ��ʽ�Ķ��׷�������һ���������ؼ����ҵ�׼ȷ�ʡ�

����ͨ�� Solo�� ���������� JSON ����ʽ�洢��������������������������Ƶ��ʾ��һ�����豸����ֱ�ӻطţ�������ͨ�� Solo�� �Ľ�����������ת��Ϊ Appium��Macaca ��Ŀǰ�����Զ������Կ�ܵĽű������ɴ�ͨ�Ʋ�ƽ̨�����⣬�������ı�ץȡ��ͼ��ʶ��������Solo�� ��ʵ������ Android ��һ�����������ɵĽű��ܹ�ͬʱ�� Android��iOS ˫�˻طŵ�������

����Solo�� ���ṩ����������IJ��롢ɾ�����޸ĵ������༭���ܣ�������Ч���������ijɱ������⣬Solo�� ��������ѭ�������������̿�������������������к�����ţ�������ʵ����Ҫ�ظ������Ĺ��߽ű�������Ҫ�طŵ��ȶ��Բ��Խű���

�����طŸ��������������������� Mock ��������طŲ��ȶ�����������ͨ���ܲ��Ե������ȵȡ�

�����ڸ���ר������У������Բ�������Ϊ��ʱ������һ�������Ա��Ҫ��ע����ϵͳ�汾�������ֻ����̣��������͵���Ļ�ȵȣ���Ҫͨ�����˹������������Բ��Ե������ɱ����ߵġ�

����Solo�� �ڻط������Ļ�����ʵ����һ�׼����Բ��ԵĽ���������ڻطŵij����У�����������һ̨�豸�ϼ�¼���û��IJ�����Ȼ����������һ̨�豸��ʵ�ֲ����Ļطš�����ѳ�����չ����̨�豸�ϣ��Ϳ���ʵ��ͨ��һ̨�豸�ٿض�̨�豸�����ǰ����׹��ܳ�Ϊ��һ����ء�������˵������������ӻ����� Socket ���ӣ�Ȼ���������Ͻ��û��IJ���ʵʱ���͵������ӻ����ڴӻ�����ɲ����Ļطš�

����һ����صĴ�Ƚ����ֱߵ��ֻ��ڰ�װ Solo�� ��ͨ���򵥵Ľ�������������ɲ���һ�����������Ŀǰ�������������ͺ� ROM������װ��һЩ��������Ч�ʵĿ�ݹ��ܣ���Ӧ�ð�װ������������豸��Ϣ�鿴�ȵȡ�

�����ᵽר����ԣ����ò������ܲ��ԡ����������ֻ�Ӧ�ó�Ϊ�������ճ������в��ɻ�ȱ��һ���֣���Ҳ��Ӧ�õ�ʹ����������˸��ߵ�Ҫ�� Ϊ�˸��û�������˿��˳���������飬����ʵ�ֹ����Dz����ģ������ܲ��ԣ����Ǵ�������Ӧ�ò��ɻ�ȱ��һ�����ڡ�Ȼ�������ܲ��ԵĿ�չ�����Ǻ����ף�һ���棬���ܲ��Ծ���һ�����ż����ܶ�ʱ����Ҫ�����ű�ȥʵ�֣���Ҫȥ���������������⡣��һ���棬��������ܲ��Է�����ȡ���Ķ���һЩ����ָ�꣬���Է������ε����⡣����������⣬Solo�� ʵ����һ�����ܲ��Թ��ߡ�������������ָ���ȡ����Ӧ��ʱ�����Լ��ƶ� Lighthouse �����湦�ܡ�

����Solo�� ֧�� CPU���ڴ桢fps�������ȳ���ָ���ʵʱ��ȡ��ͬʱ֧�ֽ��������ݼ�¼�������洢�����ز�ͨ��������ʽչʾ��Solo�� ���ṩ�������ϴ��Ĺ��ܣ����Խ����ݷ��͸����������һ���Ĵ�����������ܹ���֧���ֶ������ʹ��������Ժ��Զ����������ɴ�ͨ��

�������˳�������ָ��Ļ�ȡ��Solo�� ���ṩ����Ӧ��ʱ����Ĺ��ܡ���Ҷ�֪����������Ӧ��ʱ��һ�ֳ��÷������ǻ��ڴ���������ϵͳ��־(���� activityDisplayed Time)���������ַ�������õ��Ľ�������첽���ؽ϶�Ľ�����˵�����û�ʵ�ʵĹ۸��бȽϴ��ƫ�

����Solo�� ����¼����֡����ʵ����һ�׼���ӽ��û��������Ӧʱ��ķ����������˵����¼����Solo�� ����� ADB shell �� get event ������Ļ�ĵ���¼���������Ϊ������Ӧ��ʱ����㣬��¼��������Solo�� ��Ӻ���ǰ�������Ƶ���жԱȣ����ҳ����������ȶ���ʱ��㣬����Ϊ������յ㣬�������������Ӧ��ʱ��

����H5/С����ȼ������ƶ�Ӧ���е�ռ��Խ��Խ�ߣ���β�������Ӧ�õ����ܳ�Ϊ��һ���µĿ��⡣�Ӵ���ǰ�����ܵ�ͬѧ��֪����Lighthouse ��ǰ�����ܲ��Ե��������������޷����ֻ���ֱ��Ӧ�á��� Solo�� �����ģ����ǻ��� CDP Э�飬�ڿͻ�����ʵ����һ�� Lighthouse ���ܲ��Թ��ߣ������Ի�ȡ H5/С����ҳ���������ܡ���Դ���ġ�����������JS ������JSAPI ���������ҳ����Ϣ���������� 30 ����ǰ�˿������ʵ����ּ�ڷ���ϸ���ȵ��������⡣

���������ʵ�ַ��������ǽ� Solo�� �����Ӧ�ý������� CDP Э�齨�� Websocket ͨ�ţ�ҳ�淢�����󡢽������ݡ���ʼ���ص��¼��Ļص������ռ������Trace �����ݡ��ٰ���������ܡ���Դ���ġ�����������JS ������ JSAPI ���������ҳ����Ϣ 6 ��ά�Ƚ������ݵķ������������ͨ�����õĹ���Բɼ����Ľ�������жϣ��������ɱ�����ڽ�����չʾ��

������Ϊһ��������ר����Է���������ǰ���ᵽ�Ļطš�һ����ء����ܲ����⣬Solo�� ���ṩ������ Mock�����ܼ�ѹ������ģ�⡢���� Monkey �ȹ��ܡ������Ѻ����鿴����

�����Ƴɹ���

�����Ӱ �\�� �ټҘ����N��