Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TestCases Of androidhelp APIs #1

Open
riverfor opened this issue Jan 13, 2020 · 31 comments
Open

TestCases Of androidhelp APIs #1

riverfor opened this issue Jan 13, 2020 · 31 comments

Comments

@riverfor
Copy link
Member

riverfor commented Jan 13, 2020

All APIs need to test

Please tell them one by one and give the results.

It may help for testing:
http://qr.qpy.io/

I have pushed one testcase (Testcase for setClipboard & getClipboard) as a sample.

@riverfor riverfor changed the title Test all the APIs Feedback for androidhelp APIs Jan 13, 2020
@riverfor
Copy link
Member Author

riverfor commented Jan 13, 2020

Testcase for AndroidFacade

Test Result

Clipboard APIs

  • √ setClipboard(text)
  • √ getClipboard()

Intent & startActivity APIs

  • √ startActivity(action, uri, type, extras, wait, packagename, classname)
  • makeIntent(action, uri, type, extras, categories, packagename, classname, flags)
  • getIntent()
  • startActivityForResult(action, uri, type, extras, packagename, classname)
  • startActivityForResultIntent(intent)
  • startActivityIntent(intent, wait)

SendBroadcast APIs

  • sendBroadcast(action, uri, type, extras, packagename, classname)
  • sendBroadcastIntent(intent)

Vibrate

  • √ vibrate(duration)

NetworkStatus

  • √ getNetworkStatus()

PackageVersion APIs

  • requiredVersion(requiredVersion)
  • getPackageVersionCode(packageName)
  • getPackageVersion(packageName)

System APIs

  • √ getConstants(classname)
  • √ environment()
  • log(message)

SendEmail

  • √ sendEmail(to, subject, body, attachmentUri)

Toast, getInput, getPassword, notify APIs

  • √ makeToast(message)
  • getInput(title, message)(deprecated, please use dialogGetInput)
  • getPassword(title, message)(deprecated, please use dialogGetPassword)
  • notify(title, message, url)

Test Scripts

@riverfor riverfor pinned this issue Jan 14, 2020
@riverfor
Copy link
Member Author

riverfor commented Jan 21, 2020

Testcase for SmsFacade

Test Result

  • √ smsGetMessageCount
  • √ smsGetMessages
  • √ smsSend (It requires SMS_SEND permission)
  • √ dialogGetInput
  • × smsMarkMessageRead (× since API 23)
  • × smsDeleteMessage (× since API 23)
  • smsGetMessageIds
  • smsGetMessageById
  • smsGetAttributes

Test Scripts

FAQ

Q: My QPython which is installed from google play doesn't have SMS permission.
A: Please upgrade QPython within github to get SMS permission, get qpy3_2020-01-21_google.apk
from https://github.com/qpython-android/qpython3/releases/tag/2.1.0

Q: Why can't I mark sms as read?
A: It looks like that the WRITE_SMS is also no longer available on Android (since API 23)

Related Links

@riverfor
Copy link
Member Author

riverfor commented Jan 30, 2020

Testcase for BatteryManagerFacade

Test Result

  • √ batteryStartMonitoring
  • √ batteryStopMonitoring
  • √ readBatteryData
  • √ batteryGetHealth
  • √ batteryGetStatus
  • √ batteryGetPlugType
  • √ batteryCheckPresent
  • √ batteryGetLevel
  • √ batteryGetVoltage
  • √ batteryGetTemperature
  • √ batteryGetTechnology

Test Script

@riverfor
Copy link
Member Author

riverfor commented Jan 30, 2020

Testcase for LocationFacade

Test Result

Providers APIs

  • √ locationProviders
  • √ locationProviderEnabled

Location APIs

  • √ startLocating
  • √ stopLocating
  • √ readLocation
  • √ getLastKnownLocation

GEO

  • √ geocode

Test Code

@riverfor
Copy link
Member Author

riverfor commented Jan 30, 2020

Testcase for ContactsFacade

Test Result

  • √ contactsGetCount()
  • √ pickContact()
  • √ pickPhone()
  • √ contactsGetAttributes()
  • √ contactsGetIds()
  • √ queryContent(uri, attributes, selection, selectionArgs, order)
  • √ contactsGetById(id)
  • queryAttributes(uri)
  • contactsGet(attributes)

Test Script

@riverfor
Copy link
Member Author

riverfor commented Jan 30, 2020

Testcase for Phonefacade

Test Result

PhoneStat APIs

  • √ startTrackingPhoneState()
  • √ stopTrackingPhoneState()
  • √ readPhoneState()

Call & Dia APIs

  • √ phoneCallNumber(number)
  • √ phoneDialNumber(number)
  • phoneCall(uri)
  • phoneDial(uri)

Get information APIs

  • √ getCellLocation()
  • √ getNetworkOperator()
  • √ getNetworkOperatorName()
  • getNetworkType()
  • getPhoneType()
  • √ getSimCountryIso()
  • √ getSimOperator()
  • √ getSimOperatorName()
  • getSimSerialNumber()
  • √ getSimState()
  • getSubscriberId()
  • √ getVoiceMailAlphaTag()
  • √ getVoiceMailNumber()
  • √ checkNetworkRoaming()
  • getDeviceId()
  • √ getDeviceSoftwareVersion()
  • √ getLine1Number()
  • √ getNeighboringCellInfo()

Test Scripts

@riverfor
Copy link
Member Author

riverfor commented Jan 30, 2020

TestCase for UiFacade

Test Results

Dialog

  • dialogCreateInput(title, message, defaultText, inputType)
  • dialogCreatePassword(title, message)
  • dialogGetInput(title, message, defaultText)
  • dialogGetPassword(title, message)
  • dialogCreateSeekBar(start, maximum, title)
  • dialogCreateTimePicker(hour, minute, is24hour)
  • dialogCreateDatePicker(year, month, day)

NFCBeamMessage

  • dialogCreateNFCBeamMaster(title, message, inputType)
  • NFCBeamMessage(content, title, message)
  • dialogCreateNFCBeamSlave(title, message)

Progress

  • dialogCreateSpinnerProgress(message, maximumProgress)
  • dialogSetCurrentProgress(current)
  • dialogSetMaxProgress(max)
  • dialogCreateHorizontalProgress(title, message, maximumProgress)

Alert

  • dialogCreateAlert(title, message)

Dialog Control

  • dialogSetPositiveButtonText(text)
  • dialogSetNegativeButtonText(text)
  • dialogSetNeutralButtonText(text)
  • dialogSetItems(items)
  • dialogSetSingleChoiceItems(items, selected)
  • dialogSetMultiChoiceItems(items, selected)
  • addContextMenuItem(label, event, eventData)
  • addOptionsMenuItem(label, event, eventData, iconName)
  • dialogGetResponse()
  • dialogGetSelectedItems()
  • dialogDismiss()
  • dialogShow()

Layout

  • fullShow(layout)
  • fullDismiss()
  • fullQuery()
  • fullQueryDetail(id)
  • fullSetProperty(id)
  • fullSetList(id, list)
  • fullKeyOverride(keycodes, enable)

WebView

  • webViewShow()

Test Scripts

@riverfor
Copy link
Member Author

TestCase for MediaPlayerFacade

Test Result

  • mediaPlay(url, tag, play)
  • mediaPlayPause(tag)
  • mediaPlayStart(tag)
  • mediaPlayClose(tag)
  • mediaIsPlaying(tag)
  • mediaPlaySetLooping(enabled, tag)
  • mediaPlaySeek(msec, tag)

@riverfor
Copy link
Member Author

TestCase for PreferencesFacade

Test Result

  • prefGetValue(key, filename)
  • prefPutValue(key, value, filename)
  • prefGetAll(filename)

@riverfor
Copy link
Member Author

riverfor commented Jan 30, 2020

TestCase for QPyInterfaceFacade

Test Result

  • √ executeQPy(script)

Test Script

@riverfor
Copy link
Member Author

TestCase for TextToSpeechFacade

Test Result

  • ttsSpeak(message)
  • ttsIsSpeaking()

@riverfor
Copy link
Member Author

TestCase for EyesFreeFacade

Test Result

  • ttsSpeak(message)

@riverfor
Copy link
Member Author

TestCase for BluetoothFacade

Test Result

  • bluetoothActiveConnections()
  • bluetoothWriteBinary(base64, connID)
  • bluetoothReadBinary(bufferSize, connID)
  • bluetoothConnect(uuid, address)
  • bluetoothAccept(uuid, timeout)
  • bluetoothMakeDiscoverable(duration)
  • bluetoothWrite(ascii, connID)
  • bluetoothReadReady(connID)
  • bluetoothRead(bufferSize, connID)
  • bluetoothReadLine(connID)
  • bluetoothGetRemoteDeviceName(address)
  • bluetoothGetLocalName()
  • bluetoothSetLocalName(name)
  • bluetoothGetScanMode()
  • bluetoothGetConnectedDeviceName(connID)
  • checkBluetoothState()
  • toggleBluetoothState(enabled, prompt)
  • bluetoothStop(connID)
  • bluetoothStop(connID)
  • bluetoothDiscoveryStart()
  • bluetoothDiscoveryCancel()
  • bluetoothIsDiscovering()

@riverfor
Copy link
Member Author

TestCase for SignalStrengthFacade

Test Result

  • startTrackingSignalStrengths()
  • readSignalStrengths()
  • stopTrackingSignalStrengths()

@riverfor
Copy link
Member Author

TestCase for WebCamFacade

Test Result

  • webcamStart(resolutionLevel, jpegQuality, port)
  • webcamAdjustQuality(resolutionLevel, jpegQuality)
  • cameraStartPreview(resolutionLevel, jpegQuality, filepath)
  • cameraStopPreview()

@riverfor
Copy link
Member Author

TestCase for USBHostSerialFacade

Test Result

  • usbserialGetDeviceList()
  • usbserialDisconnect(connID)
  • usbserialActiveConnections()
  • usbserialWriteBinary(base64, connID)
  • usbserialReadBinary(bufferSize, connID)
  • usbserialConnect(hash, options)
  • usbserialHostEnable()
  • usbserialWrite(String ascii, String connID)
  • usbserialReadReady(connID)
  • usbserialRead(connID, bufferSize)
  • usbserialGetDeviceName(connID)

@riverfor
Copy link
Member Author

riverfor commented Jan 30, 2020

TestCase for ApplicationManagerFacade

Test Result

  • √ getLaunchableApplications()
  • √ getRunningPackages() (only self)
  • √ launch(classname) (only self's className)
  • forceStopPackage(packageName) (Need KILL_BACKGROUND_PROCESSES)

Test Script

@riverfor
Copy link
Member Author

riverfor commented Jan 30, 2020

TestCase for CameraFacade

Test Result

  • √ cameraCapturePicture(targetPath)
  • × cameraInteractiveCapturePicture(targetPath)(Waiting for being fixed)

Test Scripts

@riverfor
Copy link
Member Author

riverfor commented Jan 30, 2020

TestCase for CommonIntentsFacade

Test Result

Barcode

  • √ scanBarcode()(It depends on QPython 3S v2.2.1+)

View APIs

  • √ viewContacts()(No return, just display contacts list dashboard)
  • √ pick(uri) (It depends on 3rd APP with android.intent.action.PICK)
  • √ view(uri, type, extras)
  • √ viewHtml(path)(It depends on QPython 3S v2.2.1+)
  • viewMap(query)
  • search(query)

Test Scripts

@riverfor
Copy link
Member Author

TestCase for EventFacade

Test Result

  • eventClearBuffer()
  • eventRegisterForBroadcast(category, enqueue)
  • eventUnregisterForBroadcast(category)
  • eventGetBrodcastCategories()
  • eventPoll(number_of_events)
  • eventWaitFor(eventName, timeout)
  • eventWait(timeout)
  • eventPost(name, data, enqueue)
  • rpcPostEvent(name, data)
  • receiveEvent()
  • waitForEvent(eventName, timeout)
  • startEventDispatcher(port)
  • topEventDispatcher()

@riverfor
Copy link
Member Author

riverfor commented Jan 31, 2020

TestCase for MediaRecorderFacade

Test Result

Audio

  • √ recorderStartMicrophone(targetPath)

Video APIs

  • √ recorderStartVideo(targetPath, duration, videoSize)
  • √ recorderCaptureVideo(targetPath, duration, recordAudio)
  • startInteractiveVideoRecording(path)(It requires 3rd app which has ACTION_VIDEO_CAPTURE)
  • √ recorderStop()

Test Scripts

@riverfor
Copy link
Member Author

riverfor commented Jan 31, 2020

TestCase for SensorManagerFacade

Test Result

Start & Stop

  • √ startSensingTimed(sensorNumber, delayTime)
  • startSensingThreshold(ensorNumber, threshold, axis)
  • startSensing(sampleSize)
  • √ stopSensing()

Read data APIs

  • readSensors()
  • sensorsGetAccuracy()
  • sensorsGetLight()
  • sensorsReadAccelerometer()
  • sensorsReadMagnetometer()
  • √ sensorsReadOrientation()

Test Scripts

@riverfor
Copy link
Member Author

riverfor commented Jan 31, 2020

TestCase for SettingsFacade

Test Result

Screen

  • × setScreenTimeout(value)(It requires WRITE_SETTINGS permission, which is granted to system app only)
  • √ getScreenTimeout()

AirplanerMode

  • checkAirplaneMode()
  • toggleAirplaneMode(enabled)

Ringer Silent Mode

  • checkRingerSilentMode()
  • toggleRingerSilentMode(enabled)

Vibrate Mode

  • toggleVibrateMode(enabled)
  • getVibrateMode(ringer)

Ringer & Media Volume

  • getMaxRingerVolume()
  • getRingerVolume()
  • setRingerVolume(volume)
  • getMaxMediaVolume()
  • getMediaVolume()
  • setMediaVolume(volume)

Screen Brightness

  • getScreenBrightness()
  • setScreenBrightness(value)
  • checkScreenOn()

Test Scripts

@riverfor
Copy link
Member Author

TestCase for SpeechRecognitionFacade

Test Result

  • recognizeSpeech(prompt, language, languageModel)(It requires 3rd app which has android.speech.RecognizerIntent.ACTION_RECOGNIZE_SPEECH action)

Test Script

@riverfor
Copy link
Member Author

riverfor commented Jan 31, 2020

TestCase for ToneGeneratorFacade

Test Result

  • √ generateDtmfTones(phoneNumber, toneDuration)

Test Script

@riverfor
Copy link
Member Author

riverfor commented Jan 31, 2020

TestCase for WakeLockFacade

Test Result

  • √ wakeLockAcquireFull()
  • wakeLockAcquirePartial()
  • wakeLockAcquireBright()
  • wakeLockAcquireDim()
  • √ wakeLockRelease()

Test Script

@riverfor
Copy link
Member Author

riverfor commented Jan 31, 2020

TestCase for WifiFacade

Test Result

  • √ wifiStartScan()
  • √ wifiGetScanResults()
  • √ wifiLockAcquireFull()
  • wifiLockAcquireScanOnly()
  • wifiLockRelease()
  • √ checkWifiState()
  • toggleWifiState(enabled)
  • wifiDisconnect()
  • √ wifiGetConnectionInfo()
  • wifiReassociate()
  • wifiReconnect()

Test Script

@riverfor
Copy link
Member Author

TestCase for ActivityResultFacade

Test Result

  • setResultBoolean(resultCode, resultValue)
  • setResultByte(resultCode, resultValue)
  • setResultShort(resultCode, resultValue)
  • setResultChar(resultCode, resultValue)
  • setResultInteger(resultCode, resultValue)
  • setResultLong(resultCode, resultValue)
  • setResultFloat(resultCode, resultValue)
  • setResultDouble(resultCode, resultValue)
  • setResultString(resultCode, resultValue)
  • setResultBooleanArray(resultCode, resultValue)
  • setResultByteArray(resultCode, resultValue)
  • setResultShortArray(resultCode, resultValue)
  • setResultCharArray(resultCode, resultValue)
  • setResultIntegerArray(resultCode, resultValue)
  • setResultLongArray(resultCode, resultValue)
  • setResultFloatArray(resultCode, resultValue)
  • setResultDoubleArray(resultCode, resultValue)
  • setResultStringArray(resultCode, resultValue)
  • setResultSerializable(resultCode, resultValue)

@riverfor
Copy link
Member Author

riverfor commented Jan 31, 2020

TestCase for MediaPlayerFacade

Test Result

Control

  • √ mediaPlay(url, tag, play)
  • mediaPlayPause(tag)
  • mediaPlayStart(tag)
  • √ mediaPlayClose(tag)
  • mediaIsPlaying(tag)
  • mediaPlaySetLooping(enabled, tag)
  • mediaPlaySeek(msec, tag)

Get Information

  • √ mediaPlayInfo(tag)
  • √ mediaPlayList()

Test Script

@riverfor
Copy link
Member Author

riverfor commented Jan 31, 2020

TestCase for PreferencesFacade

Test Result

  • prefGetValue(key, filename)
  • prefPutValue(key, value, filename)
  • √ prefGetAll(filename)

Test Script

@riverfor riverfor changed the title Feedback for androidhelp APIs TestCases Of androidhelp APIs Jan 31, 2020
@helsmy
Copy link

helsmy commented Mar 10, 2020

PackageVersion APIs

* requiredVersion(requiredVersion)

* getPackageVersionCode(packageName)

* getPackageVersion(packageName)

Test Script

PackageVersion and PackageVersionCode test

来简单的互动一下

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants